Теперь npm поставляется с node. Что это значит?

Node noob здесь.

Ранее я установил как npm, так и node.

По-видимому, npm поставляется с node. (ссылка)

К моему новичку виду, это означает, что моя предыдущая двойная установка старая и уродливая. 1 бинарный > 2 двоичных файла. Поэтому я удалил оба.

Затем я установил последнюю версию node, следуя процедуре . (я запускаю eOS)

Терминал

[email protected]:-$ which node
/usr/bin/node
[email protected]:-$ node -v
v0.10.22
[email protected]:-$ which npm
[email protected]:-$ npm -v
bash: /usr/bin/npm: No such file or directory

Я всегда могу запустить:

curl https://npmjs.org/install.sh | sh

но это, по-видимому, указывает на то, что npm фактически НЕ входит в node.

Когда они говорят, что они включены, они просто означают, что код находится в одном и том же репо, но двоичные файлы все еще отличаются?

Заключительный вопрос У меня /usr/bin/ node, а также /usr/bin/nodejs могу ли я удалить один из них? im не уверен, когда/где я взял вторую копию.

Ответ 1

  • Да, пакет nodejs включает в себя как исполняемые файлы node, так и npm. Код для каждого имеет свое собственное репо, но при упаковке оба включены.
  • npm источник: https://github.com/isaacs/npm
  • node источник: https://github.com/joyent/node
  • Когда вы устанавливаете этот .deb файл из PPA, вы должны получить как /usr/bin/nodejs, так и /usr/bin/npm и 2 символические ссылки в /usr/bin/node (что указывает) /etc/alternatives/node (что указывает на /usr/bin/nodejs).
    • Если это не так, ваша установка не полностью преуспела, скорее всего, из-за противоречивых файлов, которые вы оставили с вашей ручной установки. Я бы предложил удалить .deb, затем убедиться, что нет устаревших файлов, оставшихся после установки вручную, а затем снова установить.

Ответ 2

У меня были проблемы (в основном на Mac), когда npm заканчивается в каталогах, которые не находятся в терминале PATH. Если вы можете выяснить, где находится npm, вы можете просто добавить его к своему пути с чем-то вроде:

export PATH=$PATH:/path/to/npm

Я думаю (я не на mac, поэтому я не могу проверить в данный момент), что он иногда попадает в /usr/local/share/. Но, во всяком случае, проблема скорее всего не в том, что npm не установлен, но что он установлен где-то, чего вы не ожидаете.

Ответ 3

Только пакеты node.js поставляются с npm. поэтому, если вы устанавливаете с помощью .msi, .exe, .dmg .pkg, .deb или с помощью установщика пакетов, например apt-get, yum или brew, тогда вы будете иметь как node и npm.

Однако npm не является частью ядра node. если вы устанавливаете node и используете метод, в котором вы используете ./configure или make install || make link, то npm не будет установлен и должен быть скомпилирован с использованием того же типа установки, и node должен быть помещен на ваш путь.

Если вы использовали git или распаковали node, и вы можете увидеть конфигурацию script, вам также понадобится приобрести npm.