168

我有以下目录结构:

/some_project
    source.js
    package.json

我想为 some_project 安装依赖项。我知道我可以 cd 进入 some_project 然后运行 ​​npm install

但我想知道是否可以不更改目录?就像是

npm install some_project/package.json 
4

5 回答 5

400

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

npm --prefix ./some_project install ./some_project
于 2013-01-16T23:51:52.257 回答
49

更新:由于该--prefix选项存在,我现在投票支持@coudy 对此问题的回答。原答案如下:

不,npm将始终安装在当前目录中,或者使用-g,安装在系统范围的 node_modules 中。不过,您可以使用子shell 来完成此操作,这不会影响您的当前目录:

(cd some_project && npm install)

括号使它在subshel ​​l 中运行。

于 2012-11-21T21:34:40.340 回答
1

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

Start-Process -Wait -FilePath "npm" -ArgumentList "install" -WorkingDirectory $web_dir
于 2020-10-05T18:23:47.567 回答
0

在 Windows 10 上我无法开始--prefix工作,所以我不得不cd执行它。

cd PATH_TO_FOLDER && npm install 
于 2019-08-10T09:43:55.027 回答
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)

于 2021-03-05T02:51:41.137 回答