我创建了一个私有的关系存储库来托管我的自定义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。因此,我需要从私有存储库本身下载所有依赖项)
答案 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安装