Різниця між NPM та NVM


83

Я знаю, що npm - це менеджер пакетів, а nvm - менеджер версій вузла. На даний момент я намагаюся автоматично встановити своє середовище розробки та виробництва за допомогою Bash, і я забув, як я починав і в якому порядку. Після встановлення npm я виявив, що наш nvm не встановлений.

Чи потрібно все-таки встановлювати nvm? Якщо так, то яка користь?


5
nvm встановлює Вузол, який встановлює npm. Якщо вам не потрібно / потрібно переключатися між версіями Node, тоді вам, ймовірно, не потрібна nvm.
Фелікс Клінг,

Відповіді:


98

nvm(Node Version Manager) - це інструмент, який дозволяє завантажувати та встановлювати Node.js. Перевірте, чи встановлено його через nvm --version.

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

npm(Node Package Manager) - це інструмент, який дозволяє встановлювати пакунки javascript. Перевірте, чи встановлено його через npm --version.

npmпоставляється з Node.js, тому, якщо у вас встановлений node ( node --version), ви, швидше за все, маєтеnpm встановили.

Вам це не потрібно, nvmякщо ви не хочете зберегти кілька версій Node.js, встановлених у вашій системі, або якщо ви хочете оновити свою поточну версію.


1
що означає, що я можу використовувати nvm install watchmanзамість того, npm install watchmanщо не хочу змінювати версії npm
AVI

@JokerFan Це не зовсім так. Не можна бігати nvm install watchman. Коли ви змінюєте свою версію nodeз nvmверсією npmзмін, а також.
ThomasReggi

2
Чи є сенс мати в системі кілька версій Node.js?
Ajay S

2
@AjayS Ви можете працювати над двома окремими проектами, які мають дуже конкретні вимоги до версії вузла, дуже поширені для підрядників.
Хуан Мендес,

23

nvm, як ви вже сказали, є "активним" менеджером версій nodejs. Ви можете мати кілька версій вузла на одній машині та перемикатися, виконуючи "nvm use version". npm поважає nvm, якщо він присутній на машині, тобто, якщо у вас активний 0.12.7 і виконується npm install -g uuid, він встановить його глобально під 0.12.7, але якщо ви перейдете на 4.0.0, uuid більше не буде доступні у всьому світі.

У будь-якому випадку вам не обов'язково потрібна nvm для встановлення пакетів.


яка версія поставляється з nvm, будь ласка, за замовчуванням?
JohnTheBeloved

@JohnTheBeloved: Жодного. nvm вказує на версію вашої ОС за замовчуванням.
Фелікс Клінг,

1
@FelixKling має рацію. Ви можете зробити "nvm ls", щоб переглянути версії, що використовуються nvm, а також "node -v", щоб побачити поточно активний вузол.
masimplo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.