我们可以像这样在Github上引用NPM部门:
"dependencies":{
"foo":"github.com/org/root#commit"
}
但是我有一个包含多个NPM库的Git存储库,如下所示:
root/
nodejs/
foo/
package.json
bar/
package.json
是否可以直接从此Github存储库中安装foo?像这样吗?
"dependencies":{
"foo":"github.com/org/root/nodejs/foo#commit"
}
我尝试使用该网址进行安装,但没有成功,出现了此错误:
npm ERR! code ENOPACKAGEJSON npm ERR! package.json Non-registry package missing package.json: https://raw.githubusercontent.com/org/root/master/nodejs/foo/package.json. npm ERR! package.json npm can't find a package.json file in your current directory. npm ERR! A complete log of this run can be found in: npm ERR! /home/oleg/.npm/_logs/2018-12-05T09_15_28_666Z-debug.log
我还尝试过像这样使用raw.githubusercontent.com:
"dependencies":{
"foo":"raw.githubusercontent.com/org/root/nodejs/foo#commit"
}
我也遇到同样的错误。当然这一定有可能吗?
答案 0 :(得分:0)
好的,所以一种解决方案是使用tarball。因此,您可以使用以下命令:
npm i -S 'https://raw.githubusercontent.com/org/root/master/nodejs/foo/foo-0.0.1001.tgz'
它工作了..我在package.json中得到了它:
"dependencies": {
"foo": "https://raw.githubusercontent.com/org/root/master/nodejs/foo/foo-0.0.1001.tgz"
}
基本上,您所需要做的就是使用指向tarball的网址进行npm install。