2014-01-16 4 views
1

Я новичок в качестве новичка и немного смущен всей штукой «установить».Узел NPM - install versus install -g

В чем разница между install и install -g?

Можно ли получить доступ к чему-либо, установленному с install -g, или сделать его доступным для сервера узлов, но не для вашего приложения? Есть ли какая-то причина использовать его, а не другую?

Приветствия

+0

Не подробнее здесь? https://npmjs.org/doc/files/npm-folders.html – Aioros

ответ

4

С Node.js блога:

  • Если вы устанавливаете что-то, что вы хотите использовать в вашей программе, используя требуется («любой»), а затем установить его на месте , в основе вашего проекта.

  • Если вы устанавливаете что-то, что хотите использовать в своей оболочке, в командной строке или что-то еще, установите его глобально, чтобы его двоичные файлы оказались в переменной среды PATH.

Так, например, скажем, вы хотели установить Grunt CLI. Скорее всего, вы будете использовать Grunt в нескольких проектах, поэтому вы захотите установить это глобально, используя -g.

Теперь скажем, что вы работаете над проектом, и вашему проекту потребуется модуль, такой как Express. Вы бы cd в свой корневой каталог проектов и установите модуль без-g.

Here более подробное описание.

2

install означает, что модуль будет создан в локальномnode_modules папку , которая настоятельно рекомендуется для чего ваше приложение использует (для версий, среди других причин).

install -g означает установить модуль глобально на вашу машину. Это обычно рекомендуется использовать только с модулями, которые выполняют некоторую задачу, не связанную с исполнением вашего приложения.

Простые примеры этого Yeoman generators, то Express generator, PhantomJS и т.д.

Существует официальный блог о нем here

1

Единственное отличие состоит в npm install mod будет установить его в локальном каталоге. Допустим, вы работаете в директории 'projectA'.Так

> npm install mod 

установит "моды" в

> projectA/node_modules/mod/ 

поэтому любой .js файла внутри Projecta может использовать этот модуль, просто говоря require('mod')

в то время как «NPM установить моды -g` установит его глобально в каталоге узла узла пользователя. Это будет где-то в

> /usr/bin/npm/node_modules/modA 

вы можете использовать этот модуль в любом месте в любом из вашего проекта, в дополнении к этому, если есть команда терминала есть в «Moda». Он будет доступен из вашего каталога терминалов.

> modA --version 
> version 1.1 
Смежные вопросы