无法将依赖项发布到私有npm存储库中

时间:2018-10-04 11:39:13

标签: node.js npm nexus npm-publish nexus2

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

步骤:

npm set registry <registry url>
npm login
npm publish

package.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 /所有可传递依赖项发布到联系中? (注意:在生产环境中我将无法访问Internet。因此,我需要从私有存储库本身下载所有依赖项)

2 个答案:

答案 0 :(得分:1)

否。

您所描述的正是Nexus Repository Manager设计的组的确切用途,但是您的无网际网路场景将其从方程式中删除。 您唯一的资源就是手动上传。

答案 1 :(得分:0)

我已经解决了以下问题:

我使用了npm-group存储库,并添加了npm托管的存储库和启用了缓存的npm-proxy(仅此存储库具有Internet访问权限)。 将新软件包添加到存储库的步骤:

1)将仓库添加到虚拟包中。json
2)安装npm。 (所有必需的软件包都将被缓存)
3)我将proxy-url指向一些垃圾URL。 (以避免不必要的代码进入我的环境)。

使用存储库的步骤:
1)npm设置注册表[npm-group-repo url]
2)npm安装