如何将npm安装到指定目录?

运行时是否可以指定目标目录npm install <package>

猿西门凯2020/03/23 10:31:47

文档中指出:将prefix选项与global选项一起使用

前缀配置的默认值到安装节点的位置。在大多数系统上,这是/ usr / local在Windows上,这是node.exe二进制文件的确切位置。在Unix系统上,它是上一层的,因为node通常安装在{prefix} / bin / node而不是 {prefix} /node.exe上

全球标志设置,NPM安装的东西到这个前缀。如果未设置,它将使用当前程序包的根目录,如果尚未在程序包中,则使用当前工作目录。

(他们强调)

因此,您可以在根目录中安装

npm install --prefix <path/to/prefix_folder> -g

它将安装node_modules文件夹到文件夹中

<path/to/prefix_folder>/lib/node_modules
宝儿理查德2020/03/23 10:31:47

您可以使用以下--prefix选项:

mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>

软件包将安装在中./install/here/node_modulesmkdir之所以需要是因为npm否则可能会选择node_modules层次结构中更高层次的已存在目录。(请参阅文件夹上的npm文档。)

神乐古一2020/03/23 10:31:47

我正在使用Powershell构建,并且在不更改当前目录的情况下无法运行npm。

最后使用start命令并仅指定工作目录:

start "npm" -ArgumentList "install --warn" -wo $buildFolder