Comment lister un dépôt Github privé en tant que "dependency"
dans package.json
? J'ai essayé les syntaxes de les URL Github de npm telles que ryanve/example
, mais le fait de npm install
dans le dossier du paquet donne des erreurs "impossible à installer" pour les dépendances privées. Existe-t-il une syntaxe spéciale (ou un autre mécanisme) pour dépendre des pensions privées?
Cela peut être fait via https et oauth ou ssh.
https et oauth: créer un jeton d'accès ayant la portée "repo" et tilisez ensuite cette syntaxe = =:
"package-name": "git+https://<github_token>:[email protected]/<user>/<repo>.git"
ou
ssh: setup ssh puis utilisez cette syntaxe:
"package-name": "git+ssh://[email protected]:<user>/<repo>.git"
(notez l'utilisation de deux points au lieu de slash avant l'utilisateur)
Si quelqu'un recherche une autre option pour Git Lab et que les options ci-dessus ne fonctionnent pas, nous avons une autre option. Pour une installation locale du serveur Git Lab, nous avons constaté que l'approche ci-dessous nous permet d'inclure la dépendance du paquet. Nous avons généré et utilisé un jeton d'accès pour le faire.
$ npm install --save-dev https://git.yourdomain.com/userOrGroup/gitLabProjectName/repository/archive.tar.gz?private_token=InsertYourAccessTokenHere
Bien sûr, si vous utilisez une clé d'accès de cette manière, elle devrait disposer d'un ensemble d'autorisations limité.
Bonne chance!
Avec git, il existe un format https
https://github.com/equivalent/we_demand_serverless_Ruby.git
Ce format accepte l'utilisateur + mot de passe
https://bot-user:[email protected]/equivalent/we_demand_serverless_Ruby.git
Donc, ce que vous pouvez faire est de créer un nouvel utilisateur qui sera utilisé comme un bot , ajoutez uniquement les autorisations suffisantes pour qu'il puisse simplement lire le référentiel souhaité. pour charger dans les modules NPM et juste avoir cela directement dans votre packages.json
Github > Click on Profile > Settings > Developer settings > Personal access tokens > Generate new token
Dans la partie Sélection des étendues, vérifiez le repo sur : Contrôle total des référentiels privés
C’est pour que le jeton puisse accéder aux pensions privées que l’utilisateur peut voir.
Créez maintenant un nouveau groupe dans votre organisation, ajoutez cet utilisateur au groupe et ajoutez uniquement les référentiels que vous espérez extraire de cette manière (autorisation READ ONLY!).
Vous devez être sûr de pousser cette configuration uniquement vers un dépôt privé
Ensuite, vous pouvez ajouter ceci à votre/packages.json (bot-user est le nom de l'utilisateur, xxxxxxxxx est le jeton personnel généré)
// packages.json
{
// ....
"name_of_my_lib": "https://bot-user:[email protected]/ghuser/name_of_my_lib.git"
// ...
}
https://blog.eq8.eu/til/pull-git-private-repo-from-github-from-npm-modules-or-bundler.html