我要在Angular 8项目中安装的文件系统上有一个私有软件包。到目前为止,对于非角度项目,此方法效果很好。从Angular项目的根源开始:
npm i -S ../the-other-project-dependency/dist
错误消息是:
npm ERR! Could not install from "../the-other-project-dependency/the-other-project-dependency" as it does not contain a package.json file.
部分正确的原因是the-other-project-dependency
不包含package.json
文件。
package.json
文件位于../the-other-project-dependency/dist
中。具体来说,它位于dist
目录中。
所以我不确定NPM是否会说dist
目录应命名为the-other-project-dependency
?
我尝试将dist
重命名为the-other-project-dependency
,现在它传递了该错误,但是它给另一个私有项目依赖项带来了错误:
具体说:
`the-other-project-dependency/yet-another-private-dependency` could not be installed as it does not contain a `package.json` file.
因此,似乎NPM无法理解如何使用本地安装的软件包。在这最后一种情况下,似乎在说yet-another-private-package-dependency
应该作为the-other-project-dependency
的同级进行布局,并且它没有读取该依赖项的文件系统路径。
我假设per this post使用本地文件dep应该可以。
我认为这是NPM中的错误。 I filed a report here
能够使用yarn使其正常工作,但是我不得不删除本地私有软件包并用yarn重新安装它们,因为yarn对本地依赖项使用的路径字符串略有不同。