npm installe les référentiels github privés par dépendance dans package.json

J’essaie d’installer le repository privé github en npm, qui inclut d’autres repositorys de github privés en tant que dépendance.

J’ai essayé beaucoup de moyens et de messages, mais aucun ne fonctionne. Voici ce que je fais:

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

dans package.json est comme:

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

Quelle est la bonne façon de le faire?

Essaye ça:

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

Vous pouvez également essayer ceci, où visionmedia / express est name / repo:

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

Ou (si le module de paquet npm existe):

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

Tiré de documents de NPM

Les éléments suivants fonctionnaient très bien dans tous les scénarios dont j’avais besoin:

 "dependencies": { "GitRepo": "git+https://:x-oauth-basic@github.com//.git" } 

Pour ceux d’entre vous qui sont venus ici pour des répertoires publics, à partir de npm docs: https://docs.npmjs.com/files/package.json#git-urls-as-dependencies

URL Git en tant que dépendances

Les URL Git peuvent être de la forme:

 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 

Le commit-ish peut être n’importe quel tag, sha ou branch pouvant être fourni comme argument pour git checkout. La valeur par défaut est master.

La réponse acceptée fonctionne, mais je n’aime pas beaucoup l’idée de coller des jetons sécurisés dans le package.json

Je l’ai trouvé ailleurs, lancez simplement cette commande ponctuelle comme indiqué dans la page de manuel git-config .

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

GITHUB_TOKEN peut être configuré comme variable environmnet ou collé directement

et puis npm install user/repo --save github privés comme: npm install user/repo --save


fonctionne également dans Heroku, il suffit de configurer la commande git config ... tant que heroku-prebuild dans package.json et de configurer GITHUB_TOKEN tant que variable de configuration Heroku.

Il y a plusieurs façons de le faire, comme le soulignent les gens, mais les versions les plus courtes sont les suivantes:

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

par exemple

 "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" } 

ou juste

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

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

Pour ma référence de référentiel privé, je ne voulais pas inclure de jeton sécurisé, et aucun autre élément simple (c.-à-d. Ne spécifiant que dans package.json) ne fonctionnait. Voici ce qui a fonctionné:

  1. Nous sums allés à GitHub.com
  2. Naviguer dans un référentiel privé
  3. Cliqué sur “Cloner ou Télécharger” et URL copiée (qui ne correspond pas aux exemples ci-dessus)
  4. Ajout de # commit-sha
  5. Ran npm installer

Comme Git utilise une curl sous le capot, vous pouvez utiliser le fichier ~/.netrc avec les informations d’identification. Pour GitHub, cela ressemblerait à ceci:

 machine github.com login  password  

Si vous choisissez d’utiliser access tokens , il peut être généré à partir de:

Paramètres -> Paramètres du développeur -> Jetons d’access personnel

Cela devrait également fonctionner si vous utilisez Github Enterprise dans votre propre société. Il suffit de mettre votre URL d’entreprise github dans le champ machine .