it-swarm.com.ru

Каков рекомендуемый способ установки brew, node.js, io.js, nvm, npm на OS X?

Я стараюсь использовать доморощенный как можно больше. Какой предлагаемый способ установить следующее на OS X?

и, надеюсь, поддерживает разработку для:

152
ohho
  1. Используя homebrew установить nvm:

    brew update
    brew install nvm
    source $(brew --prefix nvm)/nvm.sh
    

    Добавьте последнюю команду в файл .profile, .bashrc или .zshrc, чтобы не запускать ее снова при каждом запуске терминала. Например, чтобы добавить его в прогон .profile:

    echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.profile
    

    Если у вас возникли проблемы с установкой nvm с использованием brew, вы можете установить его вручную (см. здесь )

  2. С помощью nvm установите node или iojs (вы можете установить любую версию по вашему желанию):

    nvm install 0.10
    # or
    nvm install iojs-1.2.0
    
  3. npm поставляется с node (или iojs), поэтому он будет доступен после установки node (или iojs). Вы можете обновить его до последней версии:

    $ npm install -g [email protected]
    

    UPD Предыдущая версия была npm update -g npm, Спасибо @Metallica за указание на правильный путь (посмотрите на комментарий ниже).

  4. Используя npm установить ionic:

    npm install -g ionic
    
  5. А как насчет ngCordova: вы можете установить его с помощью npm или bower. Я не знаю, какой вариант больше подходит для вас, это зависит от менеджера пакетов, который вы хотите использовать на стороне клиента. Поэтому я опишу их обоих:

    1. Использование npm: перейдите в папку вашего проекта и установите в нее ng-cordova:

      npm install --save ng-cordova
      
    2. Использование bower: установить bower:

       npm install -g bower
      

      А затем перейдите в папку вашего проекта и установите в нее ngCordova:

       bower install --save ngCordova
      

PS

  1. Некоторые команды могут требовать привилегий суперпользователя
  2. Краткий вариант npm install some_module - это npm i some_module
246
alexpods

2018 версия

В большинстве ответов рекомендуемый способ установки nvm - использовать Homebrew 

Не делай этого

На Github Page для nvm это ясно вызвано:

Homebrew установка не поддерживается. Если у вас есть проблемы с установил homebrew nvm, пожалуйста, удалите brew и установите его с помощью инструкции ниже, до подачи вопроса.

Вместо этого используйте следующий метод

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Сценарий клонирует репозиторий nvm в ~/.nvm и добавляет исходную строку в ваш профиль (~/.bash_profile, ~/.zshrc, ~/.profile или ~/.bashrc).

А затем используйте nvm для установки узла. Например, чтобы установить последнюю версию LTS, выполните:

nvm install v8.11.1

Чистый и без проблем. Это пометит это как версию вашего узла по умолчанию, так что вы должны быть полностью настроены

11
Abhijit Mazumder

Я использую (Node version management)

Вы можете установить его двумя способами

brew install n

или же

npm install -g n

Вы можете переключаться между разными версиями узла и io. Вот пример из моего текущего env, когда я вызываю n без параметров: 

$ n

  io/3.3.1
  node/0.12.7
  node/4.0.0
  node/5.0.0
ο node/5.10.1 
11
Serge Seletskyy

Я очень опоздал на это, но мне не понравились другие ответы

Установка Homebrew

Для варки запустить 

"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Установка узла & npm

Вы НЕ ДОЛЖНЫ использовать brew для установки node и npm

Я видел несколько мест, в которых предлагалось использовать Homebrew для установки Node (например, ответ alexpods и в этом Посте в блоге Team Treehouse ), но при установке этого способа вы более склонны сталкиваться с проблемами, такими как npm и brew и менеджеры пакетов, и у вас должен быть менеджер пакетов, управляющий другим менеджером пакетов, это приводит к проблемам, таким как эта официальная ошибка npm проблемы Ошибка: отказ от удаления:/usr/local/bin/npm или this Не удается удалить модуль npm в OSX

Вы можете прочитать больше на эту тему в посте ДанХерберта Исправление npm в Mac OS X для пользователей Homebrew , где он продолжает говорить

Кроме того, при установке Homebrew npm вам потребуется использовать Sudo при установке глобальных пакетов. Поскольку одна из основных идей Homebrew заключается в том, что приложения могут быть установлены без предоставления им корневого доступа, это плохая идея.

Для всего остального

Я бы использовал npm; но вы действительно должны просто следовать инструкции по установке для каждого модуля, следуя инструкциям на веб-сайте, так как они будут более осведомлены о любой проблеме или ошибке, чем кто-либо другой

7
garrettmac

Если вы ранее установили узел с помощью brew, то у вас будет куча дополнительных файлов, которые вы должны очистить перед установкой узла «правильным способом». Кроме того, мне пришлось добавить несколько настроек в мой скрипт запуска, чтобы все работало гладко.

Я написал сценарий, чтобы сделать это легко.

# filename:  install-nvm-npm-node
# author:    Lex Sheehan
# purpose:   To cleanly install NVM, NODE and NPM
# dependencies:  brew

NOW=$(date +%x\ %H:%M:%S)
CR=$'\n'
REV=$(tput rev)
OFF=$(tput sgr0)
BACKUP_DIR=$HOME/backups/nvm-npm-bower-caches/$NOW
MY_NAME=$(basename $0)
NODE_VER_TO_INSTALL=$1
if [ "$NODE_VER_TO_INSTALL" == "" ]; then
    NODE_VER_TO_INSTALL=v0.12.2
fi
if [ "`echo "$NODE_VER_TO_INSTALL" | cut -c1-1`" != "v" ]; then
    echo """$CR""Usage:   $ $MY_NAME <NODE_VERSION_TO_INSALL>"
    echo "Example: $ $MY_NAME v0.12.1"
    echo "Example: $ $MY_NAME $CR"
    exit 1
fi
echo """$CR""First, run:  $ brew update"
echo "Likely, you'll need to do what it suggests."
echo "Likely, you'll need to run: $ brew update$CR"
echo "To install latest node version, run the following command to get the latest version:  $ nvm ls-remote"
echo "... and pass the version number you want as the only param to $MY_NAME. $CR"
echo "Are you ready to install the latest version of nvm and npm and node version $NODE_VER_TO_INSTALL ?$CR"
echo "Press CTL+C to exit --or-- Enter to continue..."
read x

echo """$REV""Uninstalling nvm...$CR$OFF"
# Making backups, but in all likelyhood you'll just reinstall them (and won't need these backups)
if [ ! -d "$BACKUP_DIR" ]; then 
    echo "Creating directory to store $HOME/.nvm .npm and .bower cache backups: $BACKUP_DIR"
    mkdir -p $BACKUP_DIR
fi 
set -x
mv $HOME/.nvm   $BACKUP_DIR  2>/dev/null
mv $HOME/.npm   $BACKUP_DIR  2>/dev/null
mv $HOME/.bower $BACKUP_DIR  2>/dev/null
{ set +x; } &>/dev/null

echo "$REV""$CR""Uninstalling node...$CR$OFF"
echo "Enter your password to remove user some node-related /usr/local directories"
set -x
Sudo rm -rf /usr/local/lib/node_modules
rm -rf /usr/local/lib/node
rm -rf /usr/local/include/node
rm -rf /usr/local/include/node_modules
rm /usr/local/bin/npm
rm /usr/local/lib/dtrace/node.d
rm -rf $HOME/.node
rm -rf $HOME/.node-gyp
rm /opt/local/bin/node
rm /opt/local/include/node
rm -rf /opt/local/lib/node_modules
rm -rf /usr/local/Cellar/nvm
brew uninstall node 2>/dev/null
{ set +x; } &>/dev/null

echo "$REV""$CR""Installing nvm...$CR$OFF"

echo "++brew install nvm"
brew install nvm 
echo '$(brew --prefix nvm)/nvm.sh'
source $(brew --prefix nvm)/nvm.sh

echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc):$CR$OFF"
echo "export NVM_DIR=\"\$(brew --prefix nvm)\"; [ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"$CR"
NVM_DIR="$(brew --prefix nvm)"

echo """$CR""Using nvm install node...$CR"
echo "++ nvm install $NODE_VER_TO_INSTALL"
nvm install $NODE_VER_TO_INSTALL
NODE_BINARY_PATH="`find /usr/local/Cellar/nvm -name node -type d|head -n 1`/$NODE_VER_TO_INSTALL/bin"
echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc) and then restart your Shell:$CR$OFF"
echo "export PATH=\$PATH:$NODE_BINARY_PATH:$HOME/.node/bin"

echo """$CR""Upgrading npm...$CR"
echo '++ install -g [email protected]'
npm install -g [email protected]
{ set +x; } &>/dev/null
echo "$REV""$CR""Insert following line in your $HOME/.npmrc file:$OFF"
echo """$CR""prefix=$HOME/.node$CR"
echo "Now, all is likley well if you can run the following without errors:  npm install -g grunt-cli$CR"
echo "Other recommended global installs: bower, gulp, yo, node-inspector$CR"

Я написал небольшую статью здесь , в которой подробно объясняется, почему это "правильный путь".

Если вам нужно установить iojs, сделайте это с помощью nvm следующим образом:

nvm install iojs-v1.7.1

Чтобы установить brew, просто посмотрите его домашнюю страницу .

Смотрите alexpods ответ на все остальное.

5
l3x

Я согласен с noa - если вам нужно иметь несколько версий node, io.js, то brew не является подходящим решением.

Вы можете помочь в бета-тестировании поддержки io.js в nvm: https://github.com/creationix/nvm/pull/616

Если вы просто хотите io.js и не переключаете версии, вы можете установить бинарный дистрибутив io.js из https://iojs.org/dist/v1.0.2/iojs-v1.0.2-darwin-x64.tar.gz ; это включает npm, и вам не понадобится nvm, если вы не переключаете версии.

Не забудьте обновить npm после установки: Sudo npm install -g [email protected]

4
Sam Mikes

Вы должны установить node.js с помощью nvm, потому что таким образом вам не нужно предоставлять привилегии суперпользователя при установке глобальных пакетов (вы можете просто выполнить «npm install -g packagename», не добавляя «Sudo»).

Однако варево отлично подходит для других вещей. Я склонен склоняться к Бауэру всякий раз, когда у меня есть возможность установить что-то с Бауэром.

4
Rajan Patel

Вот что я делаю:

curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash
cd / && . ~/.nvm/nvm.sh && nvm install 0.10.35
. ~/.nvm/nvm.sh && nvm alias default 0.10.35

Нет доморощенного для этого.

nvm скоро будет поддерживать io.js, но не на момент публикации: https://github.com/creationix/nvm/issues/590

Затем установите все остальное для каждого проекта с помощью package.json и npm install.

3
paulmelnikow

Для установки с Zsh и Homebrew:

brew install nvm

Затем добавьте следующее в ~/.zshrc или в желаемую оболочку конфигурационный файл:

export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"

Затем установите версию узла и используйте ее.

nvm install 7.10.1
nvm use 7.10.1
0
David Dehghan