2017-03-27 34 views
4

我希望npm ...总是在我的项目子文件夹的上下文中运行:“./assets”。npm - 设置项目特定的默认前缀/路径

当我从项目的根目录运行此命令,它表现为预期:

$ npm --prefix ./assets install 

但是,它并没有从根文件夹中.npmrc阅读。

$ echo "prefix=./assets" > .npmrc 
$ npm i 
# creates an empty ./node_modules folder 

如何为npm命令设置项目特定的默认前缀?

+3

我看到这个明显的错误https://github.com/npm/npm/issues/8036有一个公开的问题。然而,它关闭了与全球安装相关的评论(npm i -g)。我不确定是否解决了这个问题。如果运行'npm config get prefix',它将显示在$ {PROJECT} /。npmrc中定义的前缀值。但'npm i'仍然安装到node_modules。但通过--prefix会安装到指定的子目录。 – andrunix

+0

仍未修复NPM 5.0.3 – DutchKevv

回答

-1

如果您已全局安装npm,您可以简单地配置前缀以设置特定文件夹,以便您可以将其他节点模块安装到该文件夹​​。以下是设置前缀的命令。

NPM配置集前缀/Programming/node-v0.10.31-linux-x64/

在这里,我有配置节点v0.10.31-Linux的64节点此文件夹和节点模块将被安装在那里。

如果要安装特定的文件夹节点模块

单独可以用户以下命令

NPM安装凉亭-g --prefix /Programming/node-v0.10.31-linux-x64/

+0

感谢@Osanda,但我正在寻找一种方法,无需为给定的根文件夹指定前缀。也就是说,在你的例子中,我希望能够在没有'--prefix'的情况下安装bower,并且知道它总是会安装在正确的相关文件夹中(例如'。/ assets') – steel