【发布时间】:2012-11-10 00:11:03
【问题描述】:
我的目录结构如下:
/some_project
source.js
package.json
我想为 some_project 安装依赖项。 我知道我可以 cd 进入 some_project 然后运行 npm install
但我想知道是否可以不更改目录? 像
npm install some_project/package.json
【问题讨论】:
我的目录结构如下:
/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
【讨论】:
etc 文件夹,这是一个已知的错误github.com/npm/npm/pull/7249
./some_project 是否有更明确的说明?
./some_project
更新:由于存在--prefix 选项,我现在投票支持@coudy 对此问题的回答。原答案如下:
不,npm 将始终安装在当前目录中,或者与-g 一起安装在系统范围的 node_modules 中。不过,您可以使用 subshell 来完成此操作,这不会影响您的当前目录:
(cd some_project && npm install)
括号使它在subshell中运行。
【讨论】:
START /D "%my_dir%" /I /WAIT npm install
在使用 powershell 的 Windows 10 上,唯一对我有用的东西没有this blog post 中提到的所有问题和边缘情况
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/package.json 安装./hello/world/node_modules。
(Windows 10,节点 v10.16.0,npm 7.6.1)
【讨论】: