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

时间:2012-11-21 17:07:45

标签: node.js npm

我有以下目录结构:

/some_project
    source.js
    package.json

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

但我想知道如果不改变目录是否可行? 像

这样的东西
npm install some_project/package.json 

5 个答案:

答案 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)

相关问题