npm install private github repositories by dependency in package.json
我正在尝试通过NPM安装Github私有存储库,其中包括其他私有Github存储库作为依赖项。
已经尝试了很多方法和帖子,但没有一个是有效的。以下是我要做的:
1 | npm install git+https://github.com/myusername/mygitrepository.git |
在package.json中:
1 2 3 4 | "dependencies": { "repository1name":"git+https://github.com/myusername/repository1.git", "repository2name":"git+https://github.com/myusername/repository2.git" } |
正确的方法是什么?
试试这个:
1 2 3 4 | "dependencies" : { "name1" :"git://github.com/user/project.git#commit-ish", "name2" :"git://github.com/user/project.git#commit-ish" } |
您也可以尝试这样做,其中visionmedia/express是name/repo:
1 2 3 | "dependencies" : { "express" :"visionmedia/express" } |
或者(如果存在NPM包模块):
1 2 3 | "dependencies" : { "name":"*" } |
取自NPM文件
在我需要的所有场景中,以下功能都很好:
1 2 3 | "dependencies": { "GitRepo":"git+https://<token-from-github>:[email protected]/<user>/<GitRepo>.git" } |
对于那些来这里访问公共目录的人,从NPM文档:https://docs.npmjs.com/files/package.json git urls作为依赖项
Git URL作为依赖项Git URL的格式可以是:
1 2 3 4 5 | git://github.com/user/project.git#commit-ish git+ssh://user@hostname:project.git#commit-ish git+ssh://user@hostname/project.git#commit-ish git+http://user@hostname/project/blah.git#commit-ish git+https://user@hostname/project/blah.git#commit-ish |
commit ish可以是任何标记、sha或分支,可以作为git checkout的参数提供。默认值为master。
接受的答案是可行的,但我不太喜欢将安全令牌粘贴到
我在别处找到了它,只需运行这个一次性命令,如git-config手册页中所述。
1 | git config --global url."https://${GITHUB_TOKEN}@github.com/".insteadOf [email protected]: |
然后我安装私有的github repos,比如:
在heroku中也可以工作,只需在
正如人们所指出的,有多种方法可以做到这一点,但最短的版本是:
1 2 3 4 5 6 7 8 | // from master "depName":"user/repo", // specific branch "depName":"user/repo#branch", // specific commit "depName":"user/repo#commit", |
例如
1 2 3 4 5 | "dependencies" : { "hexo-renderer-marked":"amejiarosario/hexo-renderer-marked#patch-1", "hexo-renderer-marked":"amejiarosario/hexo-renderer-marked#2249507", "hexo-renderer-marked":"amejiarosario/hexo-renderer-marked", } |
1 2 3 | "dependencies": { "some-package":"github:github_username/some-package" } |
或者只是
1 2 3 | "dependencies": { "some-package":"github_username/some-package" } |
https://docs.npmjs.com/files/package.json_github网址
因为Git在引擎盖下使用
1 2 3 | machine github.com login <github username> password <password OR github access token> |
如果您选择使用
Settings -> Developer settings -> Personal access tokens
如果您在自己的公司中使用Github Enterprise,这也应该有效。只需将企业Github URL放在
对于我的私有存储库引用,我不想包括一个安全令牌,其他简单的(即只在package.json中指定)都不起作用。以下是工作原理: