首页 > 解决方案 > 告诉 NPM 安装在不同的目录中

问题描述

我有一种情况,由于我正在处理的项目的要求/意见,我必须将我的package.json文件保存在嵌套目录中。见下文:

/my-app
  |-- /functions
    |-- /node_modules
    |-- package.json

我现在多次遇到的问题是我npm i <package>从内部运行/my-app而不是/my-app/functions没有意识到它,我最终花费了不必要的时间来调试我的应用程序,因为我将包安装在错误的位置。

有没有办法创建一个根级package.json文件,它只告诉 NPM,“嘿,如果你要安装一些东西,就在另一个目录中做吧。”?例如:

/my-app
  |-- package.json <-- add this
  |-- /functions
    |-- /node_modules
    |-- package.json

也许package.json根目录中的文件看起来像这样?

{
  "installDirectory": "/functions"
}

此功能可能已经存在,但我无法在文档中找到它。该--prefix标志是相似的,但它不会自动处理我所描述的情况。

标签: npm

解决方案


你可以使用 npm-config:

$ npm config set prefix ./functions

或者您可以将NPM_CONFIG_PREFIX(环境变量)设置为./functions.

您还可以将此行添加到.npmrc

prefix = ./functions

npm 文档:


推荐阅读