npm通过package.json中的依赖来安装私人github存储库

我试图通过npm安装github私有存储库,其中包括其他私人github存储库作为依赖。

已经尝试了很多方式和post,但没有任何工作。 这是我在做什么:

npm install git+https://github.com/myusername/mygitrepository.git 

在package.json中是这样的:

 "dependencies": { "repository1name": "git+https://github.com/myusername/repository1.git", "repository2name": "git+https://github.com/myusername/repository2.git" } 

什么是正确的做法呢?

尝试这个:

 "dependencies" : { "name1" : "git://github.com/user/project.git#commit-ish", "name2" : "git://github.com/user/project.git#commit-ish" } 

你也可以试试这个,其中visionmedia / express是名称/回购:

 "dependencies" : { "express" : "visionmedia/express" } 

或者(如果npm包模块存在):

 "dependencies" : { "name": "*" } 

从NPM文档中获得

以下工作很好,在我需要的所有情况下:

 "dependencies": { "GitRepo": "git+https://<token-from-github>:x-oauth-basic@github.com/<user>/<GitRepo>.git" } 

对于那些来到这里的公共目录,从npm文档: https ://docs.npmjs.com/files/package.json#git-urls-as-dependencies

Git URL作为依赖关系

Git的URL可以是这样的forms:

 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可以是任何可以作为参数提供给git checkout的标签,sha或分支。 默认是主。

被接受的答案是有效的,但是我不太喜欢将安全的令牌粘贴到package.json

我已经在其他地方find了它,只要运行这个一次性的命令, 如git-config手册页中所logging的那样 。

 git config --global url."https://${GITHUB_TOKEN}@github.com/".insteadOf git@github.com: 

GITHUB_TOKEN可以设置为环境variables或直接粘贴

然后我安装私人的github仓库,如: npm install user/repo --save


也可以在Heroku中使用,只需在package.json中将上面的git config ...命令设置为heroku-prebuild脚本,并将GITHUB_TOKEN设置为Herokuconfigurationvariables即可。

有多种方式可以让人们指出,但最简单的版本是:

 // from master "depName": "user/repo", // specific branch "depName": "user/repo#branch", // specific commit "depName": "user/repo#commit", 

例如

 "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", } 
 "dependencies": { "some-package": "github:github_username/some-package" } 

要不就

 "dependencies": { "some-package": "github_username/some-package" } 

https://docs.npmjs.com/files/package.json#github-urls

对于我的私人存储库引用,我不想包括一个安全的令牌,没有其他简单的(即只在package.json指定)工作。 这是什么工作:

  1. 去了GitHub.com
  2. 导航到私人存储库
  3. 点击“克隆或下载”和复制的url(与上面的例子不符)
  4. 新增了#commit-sha
  5. 冉npm安装