Node.js npm-设置特定于项目的默认前缀/路径

Node.js npm-设置特定于项目的默认前缀/路径,node.js,npm,Node.js,Npm,我希望npm…始终在我的项目的子文件夹中运行:“./assets” 当我从项目根目录运行此命令时,它的行为符合预期: $ npm --prefix ./assets install 但是,它不会从根文件夹中的.npmrc中读取此内容 $ echo "prefix=./assets" > .npmrc $ npm i # creates an empty ./node_modules folder 如何为npm命令设置特定于项目的默认前缀?如果您已全局安装npm,只需将前缀配置为针对特定

我希望
npm…
始终在我的项目的子文件夹中运行:“./assets”

当我从项目根目录运行此命令时,它的行为符合预期:

$ npm --prefix ./assets install
但是,它不会从根文件夹中的
.npmrc
中读取此内容

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

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

如果您已全局安装npm,只需将前缀配置为针对特定文件夹进行设置,即可将其他节点模块安装到该文件夹中。以下是设置前缀的命令

npm配置集前缀/编程/节点-v0.10.31-linux-x64/

在这里,我在Node-v0.10.31-linux-x64中配置了节点。这个文件夹和节点模块将安装在那里

如果要单独安装特定文件夹的节点模块,可以使用以下命令


npm install bower-g--prefix/Programming/node-v0.10.31-linux-x64/

我发现这个明显的bug存在一个未解决的问题。然而,它以一条与全球安装(npm i-g)相关的评论结束。我不确定这是否解决了这个问题。如果运行“npm config get prefix”,它将显示在${PROJECT}/.npmrc中定义的前缀值。但是,“npm i”仍然安装到节点_模块。但是传递--prefix确实会安装到指定的子目录。NPM 5.0.3Thanks@Osanda仍然无法修复此问题,但我正在寻找一种不必为给定根文件夹指定前缀的方法。也就是说,在您的示例中,我希望能够安装bower而不使用
--前缀
,并且知道它将始终安装在正确的相对文件夹中(例如
/assets