告诉NPM安装在不同的目录中

告诉NPM安装在不同的目录中,npm,Npm,我遇到的情况是,由于我正在处理的项目的要求/意见,我必须将我的package.json文件保存在嵌套目录中。见下文: /my-app |-- /functions |-- /node_modules |-- package.json 我现在遇到的问题是,我从/my app中运行npm I,而不是/my app/functions,却没有意识到这一点,结果我花了不必要的时间调试我的app,因为我在错误的位置安装了软件包 有没有一种方法可以创建一个根级别的package.jso

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

/my-app
  |-- /functions
    |-- /node_modules
    |-- package.json
我现在遇到的问题是,我从
/my app
中运行
npm I
,而不是
/my app/functions
,却没有意识到这一点,结果我花了不必要的时间调试我的app,因为我在错误的位置安装了软件包

有没有一种方法可以创建一个根级别的
package.json
文件,该文件只告诉NPM,“嘿,如果你要安装一些东西,请在另一个目录中安装。”?例如:

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

这个功能可能已经存在,但我在文档中找不到它。
--prefix
标志类似,但它不会自动处理我描述的情况。

不在package.json中设置路径,但使用npm标志,您可以在安装包时设置节点模块的安装路径


例如:
$npm安装--prefix./functions/node_modules

您可以使用npm配置:

$ npm config set prefix ./functions
或者您可以将
NPM\u CONFIG\u PREFIX
(环境变量)设置为
/functions

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

prefix = ./functions
npm文件:


我不确定它是否是正确的工具,但我想看看是的,我知道前缀标志会起作用,但我的目标是让它自动知道正确的目录,而不指定内联,就像我总是忘记做的那样。我只是在
中添加了
前缀=。/functions
.npmrc
,但当我运行
npm时,我会保存
,它仍然安装在根目录下,而不是/函数上。想法?你试过其他方法吗?还有,为什么要保存?在npm 5及以上版本中,默认情况下,包作为依赖项添加;您使用的是哪个版本?请尝试
$npm prefix
,并查看其输出。
prefix = ./functions