首页 > 解决方案 > 将 node_modules 上传到 Nexus 托管的 NPM 存储库

问题描述

我们正在离线构建服务器中构建我们的项目。因此,我们必须在本地网络 Nexus 中存储和维护我们所有的项目依赖项。

我按照指南在 Nexus 中创建了托管 NPM 注册表。我跳过了代理和组部分。现在我想将所有项目 NPM 包(node_modules)从我的本地工作站上传(并维护)到这个存储库。我在 Nexus 存储库设置中看不到上传按钮。如何在 Nexus NPM 注册表中正确上传和维护 NPM 包?这可以通过 Nexus GUI 来完成,还是我必须使用命令行?请注意,nexus 已与 Internet 断开连接。

标签: node.jsnpmnexus

解决方案


UI 不处理传递依赖。

您还可以使用 REST API 直接管理组件,并上传所有.tgz包。

POST ​/v1​/components

例如,要将包上传my-npm-package-0.0.0.tgz到存储库,请npm-private使用以下命令:

curl -u user:password -X POST "http://localhost:8081/service/rest/v1/components?repository=npm-private" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "npm.asset=@my-npm-package-0.0.0.tgz;type=application/x-compressed"

完整的实时 API 规范可以在端点找到/#admin/system/api

可以在https://help.sonatype.com/repomanager3/rest-and-integration-api/components-api找到官方的 nexus 文档


推荐阅读