我有以下目录结构:
/some_project
source.js
package.json
我想为 some_project 安装依赖项。我知道我可以 cd 进入 some_project 然后运行 npm install
但我想知道是否可以不更改目录?就像是
npm install some_project/package.json
您可以将npm install <folder>
变体与--prefix
选项一起使用。在您的场景中,文件夹和前缀将是相同的:
npm --prefix ./some_project install ./some_project
更新:由于该--prefix
选项存在,我现在投票支持@coudy 对此问题的回答。原答案如下:
不,npm
将始终安装在当前目录中,或者使用-g
,安装在系统范围的 node_modules 中。不过,您可以使用子shell 来完成此操作,这不会影响您的当前目录:
(cd some_project && npm install)
括号使它在subshel l 中运行。
在使用 powershell 的 Windows 10 上,唯一对我有用的东西没有这篇博文中提到的所有问题和边缘情况是这个
Start-Process -Wait -FilePath "npm" -ArgumentList "install" -WorkingDirectory $web_dir
在 Windows 10 上我无法开始--prefix
工作,所以我不得不cd
执行它。
cd PATH_TO_FOLDER && npm install
在根目录下创建一个 package.json,内容如下:
{
"dependencies": {
"helloworldprojectname": "file:hello\\world"
}
}
然后调用它来安装:
npm install --prefix ./hello/world
它./hello/world/node_modules
使用./hello/world/package.json
.
(Windows 10、节点 v10.16.0、npm 7.6.1)