Можно ли указать целевой каталог при запуске npm install <package>
?
Как установить npm в указанный каталог?
Ответ 1
Вы можете использовать опцию --prefix
:
mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>
Затем пакет будет установлен в ./install/here/node_modules
. mkdir
необходимо, так как npm в противном случае может выбрать уже существующий каталог node_modules
, расположенный выше в иерархии. (См. npm документация в папках.)
Ответ 2
В документации было указано: Используйте опцию префикса вместе с глобальной опцией:
Конфигурация префикс по умолчанию устанавливается в том месте, где установлен node. На в большинстве систем это /usr/local. В окнах это точная расположение двоичного файла node.exe. В системах Unix он находится на одном уровне, поскольку node обычно устанавливается в {префикс}/bin/node, а не {префикс}/node.exe.
Когда установлен флаг global, npm устанавливает вещи в этот префикс. Когда он не установлен, он использует корень текущего пакета или текущий рабочий каталог, если он уже не в пакете.
(Подчеркивание ими)
Итак, в корневом каталоге вы можете установить с помощью
npm install --prefix <path/to/prefix_folder> -g
и он установит папку node_modules
в папку
<path/to/prefix_folder>/lib/node_modules
Ответ 3
Начиная с версии npm версии 3.8.6 вы можете использовать
npm install --prefix ./install/here <package>
для установки в указанный каталог. NPM автоматически создает папку node_modules
, даже если каталог node_modules
уже существует в иерархии с более высоким уровнем.
Вы также можете иметь package.json
в текущем каталоге, а затем установить его в указанном каталоге с помощью опции --prefix
:
npm install --prefix ./install/here
ПРИМЕЧАНИЕ. NPM выполняет пометку пути, который вы указали с помощью параметра --prefix
. Он решает согласно npm документация по папкам, только когда npm install
используется без опции --prefix
.