我们正在离线构建服务器中构建项目。因此,我们必须在本地网络Nexus中存储和维护我们所有的项目依赖项。
我已按照this指南在Nexus中创建了托管NPM注册表。我跳过了代理和组部分。现在,我想从本地工作站上载(并维护)所有项目NPM软件包(node_modules)到此存储库。我没有在Nexus存储库设置中看到“上传”按钮。如何在Nexus NPM注册表中正确上载和维护NPM软件包?可以通过Nexus GUI完成此操作,还是必须使用命令行?请注意,连结已断开与互联网的连接。
答案 0 :(得分:1)
npm软件包的UI上传是在3.7.0版中添加的。
https://help.sonatype.com/display/NXRM3/Uploading+Components
答案 1 :(得分:1)
您无需上传 node_modules
。
您需要创建一个代理和一个组存储库。
然后您可以删除项目中的node_modules
和package-lock.json
并运行npm install
。
因为您的托管没有这些包,它会从代理下载它们。
然后就可以在群里看到那些包了。
当您再次运行 npm install
时,它会下载表单 Nexus,而不是 NPM。
下载速度将非常快。
答案 2 :(得分:0)
用户界面不处理传递依赖项。
您还可以使用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
找到官方的联系文档。