我有以下目录结构:
/some_project
source.js
package.json
我想为some_project安装依赖项。 我知道我可以进入some_project,然后运行npm install
但我想知道如果不改变目录是否可行? 像
这样的东西npm install some_project/package.json
答案 0 :(得分:296)
您可以将npm install <folder>
变体与--prefix
选项一起使用。在您的方案中,文件夹和前缀将是相同的:
npm --prefix ./some_project install ./some_project
答案 1 :(得分:42)
更新:由于存在--prefix
选项,我现在投票支持@ coudy对此问题的回答。原答案如下:
不,npm
将始终安装在当前目录中,或者使用-g
安装在系统范围的node_modules中。您可以使用子shell完成此操作,这不会影响您当前的目录:
(cd some_project && npm install)
括号使其在subshell中运行。
答案 2 :(得分:1)
在Windows 10上,我无法运行--prefix
,因此我不得不cd
并执行它。
cd PATH_TO_FOLDER && npm install
答案 3 :(得分:1)
在使用Powershell的Windows 10上,对我有用的唯一没有this blog post中提到的所有问题和边缘情况的东西是
Start-Process -Wait -FilePath "npm" -ArgumentList "install" -WorkingDirectory $web_dir
答案 4 :(得分:0)
在根目录下创建一个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)