告诉NPM安装在其他目录中

时间:2019-02-17 18:54:37

标签: npm

由于我正在处理的项目的要求/意见,我不得不将package.json文件保存在嵌套目录中。见下文:

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

我现在遇到了几次问题,就是我在npm i <package>内而不是/my-app内运行/my-app/functions,而没有意识到这一点,并且我最终花了不必要的时间调试我的应用程序,因为我将软件包安装在错误的位置。

是否有一种方法可以创建仅通知NPM的根级package.json文件:“嘿,如果您要安装某些东西,请在该其他目录中进行。”例如:

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

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

{
  "installDirectory": "/functions"
}

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

2 个答案:

答案 0 :(得分:2)

您可以使用npm-config:

$ npm config set prefix ./functions

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

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

prefix = ./functions

npm文档:

答案 1 :(得分:0)

未在package.json中设置路径,但是使用npm prefix标志可以在安装软件包时设置node_modules的安装路径。

例如:$ npm install <package> --prefix ./functions/node_modules