我正在为Org运行私有连接npm
,所有软件包都通过Internet安装在本地计算机上,并且我希望将所有软件包保留在Nexus上的NPM私有仓库中,使用npm
publish命令上传所有节点模块,并且在上传之后,我尝试在我的机器上安装依赖项。
抛出错误:无法使用npm install
命令下载软件包。
我们正在NPM中使用angular,并且我遇到了一个依赖错误。
有什么办法可以在nexus私人仓库上载和下载软件包?
我已经列出了node_modules
软件包的名称,并尝试了npm
发布命令将所有软件包上传到服务器
npm ERR! code E404
npm ERR! 404 Not Found: @babel/parser@7.5.0
npm ERR! code EINTEGRITY
npm ERR! sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/
1RtehkszU9qcTii0Q== integrity checksum failed when using sha512: wanted sha512-
nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/
1RtehkszU9qcTii0Q== but got sha512-
K7DzI/3tkHzKWDYntJSgSY26J9VHfMp4K45WPKuRzqeIFbV9LnaAkA/
LeQ7lrJdVMl4mbUQKg4KuK+JlJP12Bg==. (2753 bytes)
答案 0 :(得分:0)
我不确定该错误,但通常会回答,因为我怀疑我可以定义您的情况,而我处理的其他情况可能对那些不在您情况中但遇到此问题的人有所帮助。
答案确实取决于依赖关系的定义位置。
在package.json中,依赖关系可以是绝对URL,这将导致npm客户端绕过NXRM并直接下载工件。有关here的更多信息。如果这些导致您的错误,我怀疑NXRM方面短期内无能为力。待办事项列表中有一张(非公开)票证,以调查我们是否也可以缓解这种情况,但是在这种情况下,您需要确保一切正常,或者从那里下载它们并将其放入您的托管服务器。
NXRM设计的工作方式是可以通过NXRM访问所有依赖关系。因此,期望它们是如上所述的位于您的托管存储库中,或位于某些公共代理存储库中。
如果是前者,我将确保它们都在那儿(使用错误作为起点)。 如果是后者,则可以创建公共存储库的代理,而不是全部下载并推送它们,然后使npm组成为要从中调用的唯一来源。如果您有3个具有依赖关系的公共回购协议,则可以将它们(和您托管的)全部放入该组中,然后使用它。我们的npm常规文档中有关here组的更多信息。