2013-12-22 2 views
1

Когда и почему я должен использовать -g при установке нового модуля?Использовать глобальный npm или нет

Я использую Symfony и я должен создать Bundle для узла и установить node_modules внутри пучка с (например, компакт ../mybundle, то)

npm install felixge/node-mysql 

, когда и почему я должен что-то сделать ссылку

npm install -g felixge/node-mysql 

благодаря

+0

Разница зафиксирована в [npm-folders (5)] (https://npmjs.org/doc/files/npm-folders.html). «* Установите его ** локально **, если вы захотите() его. Установите его ** глобально **, если вы собираетесь запустить его в командной строке. Если вам нужны оба, установите его в оба местами или использовать 'npm link'. *" –

ответ

2

От http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

В общем, эмпирическое правило:

Если вы устанавливаете что-то, что хотите использовать в своей программе, используя require ('whatever'), а затем установите его локально, в корень вашего проекта.

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

+0

'mysql = require ('mysql') fb = require ('./ bc_modules/facebook')' В этом случае mysql является глобальным, а fb является локальным? – Twinsen

+0

@ user3093439 Нет. Вы не можете (или, по крайней мере, не должны) использовать 'require()' глобально установленные модули. 'mysql' будет локально установлен, а' facebook' - только относительно текущего модуля. –

+0

@JonathanLonowski Когда я использую 'required', я использую локальные модули? без 'required' использовать глобально установленные модули? Если вы используете модули локально, не нужно писать 'var sugar = require ('./ node_modules/sugar')', но я могу использовать 'var sugar = require ('sugar')' потому что './Node_modules' по умолчанию? – Twinsen

2

Флаг -g устанавливает пакеты в вашем профиле пользователя, тогда как это не помещает его в вашу текущую папку. Разница заключается в объеме пакета.

Смежные вопросы