4

说我有以下结构

packages
  - @my-scope/packageA
  - @my-scope/packageB
  - @my-scope/packageC

假设我想安装 packageA 作为 packageB 的依赖项。对于 NPM 8 工作区,我认为应该这样做: npm install @my-scope/packageA --workspace=@my-scope/packageB

相反,我得到了这个:

npm ERR! 404 Not Found - GET https://registry.npmjs.org/@my-scope%2fpackageA - Not found 
npm ERR! 404
npm ERR! 404  '@my-scope/packageA@*' is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

显然它正试图从注册表中获取它(不,我还没有发布,还没有准备好),但我希望它认识到这个依赖项作为工作空间存在于我的项目中。有谁知道为什么会发生这种情况?我还没有找到很多很好的资源来解释如何从你的 monorepo 中安装依赖项(我什至不知道那些叫什么......)。

4

1 回答 1

0

看起来 npm@8 有点问题。我遇到了同样的问题,并尝试将 npm 更新到 8.3.2,这有帮助。但是,当我看到npm ERR! Cannot set properties of null (setting 'dev')Just ignore and rerun 命令时,在第一次运行时出现了一点小故障。确保清理所有 node_modules 并锁定文件。如果没有,npm 将从您的帖子中抛出消息。

于 2022-01-26T17:47:56.747 回答