npm-在其他文件夹中安装软件包的依赖项?


142

我有以下目录结构:

/some_project
    source.js
    package.json

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

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

npm install some_project/package.json 

Answers:


344

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

npm --prefix ./some_project install ./some_project

4
这是对这个问题的真正答案。谢谢@coudy。
G. Ghez 2015年

5
顺便说一句,它etc在目的地创建了一个空文件夹,这是一个已知的错误github.com/npm/npm/pull/7249
Michael Radionov

8
感谢您的回答。是否./some_project需要第二个还有更多的说明?
阿伦

12
第二个./some_project不是必需的
JRJurman

4
在Windows 10上,这似乎不适用于我。它将依赖项安装在当前目录中,只是将符号链接放在子文件夹中。
Herohtar

45

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

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

(cd some_project && npm install)

括号使它在子shell中运行。


最终这就是我所做的-cd some_project && npm install。谢谢
Florin 2012年

1
Windows有与之等效的功能吗?
Meligy

@Meligy,您可以使用START /D "%my_dir%" /I /WAIT npm install
Everspace,2016年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.