由于我正在处理的项目的要求/意见,我不得不将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
标志是相似的,但是它不会自动处理我正在描述的情况。
答案 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