Npm-安装不同文件夹中的包的依赖项?

我有以下目录结构:

/some_project
source.js
package.json

我想为 some _ project 安装依赖项。 我知道我可以 cd 到一些 _ project 中,然后运行 npm install

但我想知道是否可以不改变目录? 差不多

npm install some_project/package.json
86752 次浏览

更新: 由于 --prefix选项的存在,我现在为@coudy 对这个问题的回答投票:

不,npm将始终安装在工作目录中,或者使用 -g安装在系统范围的 node _ module 中。你可以使用 subshell 来完成这个任务,这不会影响你的工作目录:

(cd some_project && npm install)

括号使它在 子弹中运行。

可以将 npm install <folder>变体与 --prefix选项一起使用。在您的场景中,文件夹和前缀将是相同的:

npm --prefix ./some_project install ./some_project

在 Windows10上,我无法让 --prefix工作,所以我必须执行 cd

cd PATH_TO_FOLDER && npm install

在使用 Powershell 的 Windows 10上,我唯一没有遇到 这篇博文中提到的所有问题和边缘情况的就是这个

Start-Process -Wait -FilePath "npm" -ArgumentList "install" -WorkingDirectory $web_dir

在根目录中创建一个 package.json,其内容如下:

{
"dependencies": {
"helloworldprojectname": "file:hello\\world"
}
}

然后调用这个命令安装:

npm install --prefix ./hello/world

它使用 ./hello/world/package.json安装 ./hello/world/node_modules

(Windows 10,Node v10.16.0,npm 7.6.1)