Подтвердить что ты не робот

Установите 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?

4b9b3361

Ответ 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 не сможет активировать другие версии узлов. Удалите этот экспорт из пути, и тогда вы сможете управлять текущей активной версией узла.