0

我创建了一个私有的 nexus 存储库来托管我的自定义 nodejs 库。但是当我发布我的包时,它不会发布任何依赖项。

脚步:

npm set registry <registry url>
npm login
npm publish

包.json

{
  "name": "testpackage",
  "version": "1.0.0",
  "private": false,
  "dependencies": {
    "request": "^2.87.0",
    "safe-access": "0.1.0",
    "winston": "^2.4.2"
  },
  "main": "index.js",
  "directories": {
    "test": "tests"
  },
  "devDependencies": {},
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}

当我尝试安装我的包时遇到这个问题

npm install testpackage
npm ERR! code E404
npm ERR! 404 Not Found: ieee754@1.1.8
npm ERR! A complete log of this run can be found in:
npm ERR! /<path>/.npm/_logs/2018-10-04T11_25_36_719Z-debug.log

有没有办法将 node_modules/所有传递依赖项发布到 nexus 中?(注意:我不会在生产环境中访问互联网。因此我需要从私有仓库本身下载所有依赖项)

4

2 回答 2

1

不。

您所描述的正是 Nexus Repository Manager 设计的组,但您的无互联网场景将其从等式中删除。您唯一的办法是手动上传。

于 2018-10-05T21:46:30.597 回答
0

我已经解决了以下问题:

我使用了一个 npm-group 存储库并添加了一个 npm 托管存储库和一个启用缓存的 npm-proxy(只有这个存储库可以访问 Internet)。将新包添加到存储库的步骤:

1)将存储库添加到虚拟 package.json
2)npm install。(所有必需的包都被缓存)
3)我将代理 url 指向一些垃圾 url。(为了避免不需要的代码进入我的环境)。

使用存储库的步骤:
1) npm set registry [npm-group-repo url]
2) npm install

于 2018-10-12T06:07:30.220 回答