Установите Node.js для установки n для установки Node.js?
У меня проблема с пониманием использования n. В принципе, понятно, что это менеджер версий для Node.js, например nvm.
Но в отличие от nvm, который является в основном оболочкой script, согласно документации, вам рекомендуется использовать npm для установки n:
$ npm install -g n
То, что я не получаю: Для наличия npm
вам нужно установить Node.js. Почему я должен вручную установить Node.js, чтобы использовать npm
, чтобы затем установить Node.js, используя n?
Чтобы поставить мой вопрос другими словами: почему n предлагает установить с помощью npm
, если его основная цель - установить Node.js, который включает в себя npm?
Ответы
Ответ 1
ТЛ; др
# Installs n and the latest LTS Node.js version to ~/n.
# For bash, ksh, zsh, modifies the respective user-specific shell-initialization file to
# define env. variable N_PREFIX and append $N_PREFIX/bin to the $PATH.
curl -L https://git.io/n-install | bash
Я чувствую твою боль. Установка Node.js для последующей установки n
для управления установками Node.js - действительно странная установка.
Было бы здорово сначала установить n
самостоятельно.
Я создал проект для поддержки установки n
прямо из GitHub; единственным условием сверх того, что нужно самому n
, является git
.
Обратите внимание, что сначала вы должны удалить все существующие версии n
/Node.js.
Целевой каталог, ~/n
по умолчанию, должен либо еще не существовать, либо быть пустым.
Для bash
, ksh
и zsh
соответствующий файл инициализации оболочки (например, ~/.bashrc
) автоматически изменяется для определения переменной среды N_PREFIX
и добавления $N_PREFIX/bin
к $PATH
; для других оболочек это необходимо сделать вручную.
Помимо установки n
непосредственно из GitHub, он также устанавливает вспомогательные сценарии для обновления n
(n-update
) и его удаления (n-uninstall
).
Вот рабочие примеры; подробности смотрите в n-install репозитории GitHub :
Установка с запросом подтверждения для подтверждения установки в папку по умолчанию $HOME/n
и установки последней версии LTS Node.js:
curl -L https://git.io/n-install | bash
Автоматическая установка в папку по умолчанию с последующей установкой последних версий LTS (долгосрочная поддержка) и последних версий Node.js, а также последней версии 4.1.x Node.js:
curl -L https://git.io/n-install | bash -s -- -y lts latest 4.1
Автоматическая установка в папку по умолчанию без последующей установки версии Node.js:
curl -L https://git.io/n-install | bash -s -- -y -
Автоматическая установка в пользовательское местоположение ~/util/n
с последующей установкой последней версии LTS Node.js:
curl -L https://git.io/n-install | N_PREFIX=~/util/n bash -s -- -y
Ответ 2
Если вы предпочитаете, вы можете установить из источника:
cd /tmp
git clone --depth=1 https://github.com/tj/n
cd n
sudo make install
Затем вы можете установить последнюю стабильную версию узла следующим образом:
n stable
Ответ 3
Для удобства был создан n-й модуль.
Например, если вы хотите обновить версию Node.js от v0.8.0 до v0.10.20, вы бы скорее загрузили пакет, извлекли и скомпилировали? Или вы скорее наберете n 0.10.20
и мгновенно установите его, сохраняя при этом предыдущие версии Node для легкого переключения?
n предлагает использовать npm для его установки, поскольку n является модулем. То есть, npm - это самый простой способ установить его. Модули Node имеют функциональные возможности работы в оболочке при установке в глобальном масштабе, поэтому функция была использована для облегчения переключения версий Node.
Ответ 4
Вы также можете установить npm
отдельно от Node.JS; например: в системе без Node.JS:
git clone https://github.com/npm/npm
cd npm
./configure
make
Ссылка: Проект NPM GitHub
Ответ 5
У меня был тот же вопрос, но я видел свет. "n" - удобный инструмент и упрощает тестирование различных версий node. Отлично работает в Linux, но как бы я ни пытался установить его на OS X (git clone, затем npm install или с помощью рекомендуемого метода user456584), когда я его запускаю, я всегда получаю то же самое результаты "Ошибка: нет установленной версии", даже если она устанавливается в
/USR/локальные/Library/node_modules/п
и
/USR/локальные/бен/п
Разочарование, потому что я нашел этот инструмент настолько удобным в Linux.
Ответ 6
Если вы включили свой узел узла по умолчанию в переменную $ PATH, как это
export PATH=/usr/local/Cellar/node/11.5.0/bin:$PATH
тогда n не сможет активировать другие версии узлов. Удалите этот экспорт из пути, и тогда вы сможете управлять текущей активной версией узла.