Node.js 子模块无法安装依赖项(全局安装)-相对路径问题?

Node.js 子模块无法安装依赖项(全局安装)-相对路径问题?,node.js,npm,npm-install,node-modules,npm-scripts,Node.js,Npm,Npm Install,Node Modules,Npm Scripts,我有一个npm包,其结构如下: ./ ./backend ./package.json package.json 所以基本上两个npm模块在同一个文件夹中,一个是另一个的子模块,文件结构方面 我的安装方式是,在父包中放入一个安装后脚本。json: "postinstall": "cd backend && npm install && cd .." 只有在全局安装时才会发生什么:它首先打印一些警告,说明基本上没有安装软件包。像这样: npm W

我有一个npm包,其结构如下:

./
  ./backend
    ./package.json
  package.json
所以基本上两个npm模块在同一个文件夹中,一个是另一个的子模块,文件结构方面

我的安装方式是,在父包中放入一个安装后脚本。json:

"postinstall": "cd backend && npm install && cd .."
只有在全局安装时才会发生什么:它首先打印一些警告,说明基本上没有安装软件包。像这样:

npm WARN enoent ENOENT: no such file or directory, open '/usr/lib/node_modules/inschpektor/backend/node_modules/trim-newlines/package.json'
这些将显示在
/backend/package.json
中的所有依赖项中

我已使用
--unsafe perm
标志运行安装:

npm install-g inschpektor--unsafe perm
安装包含postinstall脚本的parent package.json

我得到的最后一条日志错误消息是:

npm ERR! path /usr/lib/node_modules/inschpektor/backend/node_modules/ansi-regex/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/usr/lib/node_modules/inschpektor/backend/node_modules/ansi-regex/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/codepleb/.npm/_logs/2019-01-02T01_52_46_911Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 254
npm ERR! inschpektor@0.9.1 postinstall: `cd backend && npm install && cd ..`
npm ERR! Exit status 254
npm ERR! 
npm ERR! Failed at the inschpektor@0.9.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/codepleb/.npm/_logs/2019-01-02T01_52_47_511Z-debug.log
我做错了什么?或者,你是否看到了我在安排事情时的缺陷


下面是获取git repo的链接,如果您想进一步分析它:

据我所知,在应用程序的项目根目录上运行
npm install
可以毫无问题地工作,而且
backend
目录甚至不包含
package.json
文件。这仍然相关吗?@ItaiSteinherz我移动了父节点_模块文件夹中的所有内容,而不是在一个文件夹中包含两个npm项目。现在,“子模块”的所有文件都链接到主节点模块的依赖项。不确定哪种方法更好。如果您想找到更好的解决方案,请随时发布。这基本上就是我问这个问题时的状态(git hash):a907bf8dd845d63a3fc1b30dea27bc2641936639
npm安装
在您提到的修订版上对我来说似乎很好。您能提到用于复制的确切命令吗?为什么不将
后端
制作成一个单独的包,以便作为依赖项包含在主包中?@ItaiSteinherz您需要全局安装它。对我来说,问题出在linux上。不是所有的时间,或者它只在最初起作用。我无法量化它。