node.js - 将 node_modules 上传到 Nexus 托管的 NPM 存储库
问题描述
我们正在离线构建服务器中构建我们的项目。因此,我们必须在本地网络 Nexus 中存储和维护我们所有的项目依赖项。
我按照本指南在 Nexus 中创建了托管 NPM 注册表。我跳过了代理和组部分。现在我想将所有项目 NPM 包(node_modules)从我的本地工作站上传(并维护)到这个存储库。我在 Nexus 存储库设置中看不到上传按钮。如何在 Nexus NPM 注册表中正确上传和维护 NPM 包?这可以通过 Nexus GUI 来完成,还是我必须使用命令行?请注意,nexus 已与 Internet 断开连接。
解决方案
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 文档
推荐阅读
- excel - 如果满足多个条件,则将重复的单元格值计为一个
- jquery - 分页时数据表列宽自动增加
- python - pip 或 conda 安装要求与代理背后的本地和外部依赖项
- python - RFECV 机器学习特征选择耗时太长 Python
- javascript - javascript/Jquery - 检查字符前是否存在数字
- java - 我不知道如何使用while循环来确保只有正确的名称才能跳出while循环
- php - 如何列出 Laravel 项目中安装的所有 Composer 模块和 GitHub URL?
- pyspark - 如何使用pyspark将html文本转换为纯文本?从字符串替换html标签
- apache-kafka - kafka 在 2/3 下来后选举新的领导者
- ios - CIAffineClamp 过滤器不夹紧