web-dev-qa-db-fra.com

Comment installer un paquet bower en utilisant un serveur git privé (SSH)?

EDIT: ce gars fait exactement la même chose avec succès , ne peut pas comprendre pourquoi cela ne fonctionne pas pour moi.

Je viens d'installer git et de configurer les autorisations/authentification SSH avec clé publique/clé privée (Centos 6.5). Je suis capable de tirer/pousser sans problèmes en utilisant i.e .:

git clone [email protected]:projects/boilerplate-template

Le nom d'utilisateur est git, le code est placé dans /home/git/projects, le référentiel créé avec git --init --shared boilerplate-template.

Comment puis-je exiger boilerplate-template avec Bower dans un autre projet?

J'ai essayé avec le fichier bower.json suivant sans succès:

{
    "name": "my/newproject",
    "dependencies": {
        "boilerplate-template": "git://code.organization.com:projects/boilerplate-template"
    }
}

ECMDERR: Echec de l'exécution de "git ls-remote --tags --heads git: //code.organization.com: projects/boilerplate-template, code de sortie 128 impossible de rechercher code.organization.com (projet de port) ...

Malheureusement, cela échoue car :project n'est pas le port mais le chemin. J'ai aussi essayé avec ssh:// au lieu de git://:

ENOTFOUND: Package ssh: //code.organization.com: projects/boilerplate-template introuvable.

53
gremo

Ok, a trouvé la solution ici: Utilisation de Bower comme outil de gestion de paquets pour les bibliothèques internes et privées . Supprimez simplement git:// ou ssh:// et ajoutez le suffixe .git:

"[email protected]:projects/boilerplate-template.git#~1"
64
gremo

De même, si vous utilisez Github et Bower pour un dépôt privé, vous pouvez créer un fichier .netrc si vous devez exécuter bower install sur un serveur distant. 

par exemple. Vous avez un droplet DO et devez extraire un dépôt Git utilisant des clés ssh, mais devant exécuter bower install avec certains dépôts privés. Si vous ajoutez le fichier .netrc à votre machine distante, vous aurez intérêt à vous lancer dans deploys/builds.

// .netrc where someToken is generated in Github under Personal access token
machine github.com
    login userName
    password someToken
11
Scott Sword

J'avais de la difficulté à utiliser bower login, alors j'ai choisi cette approche. <TOKEN> est généré ici . Cela fonctionne pour les dépôts privés hébergés sur Github.

"dependencies": {
    "your-package": "https://<TOKEN>:[email protected]/Account/Repository.git"
}
9
Dehli

TeamCity avait ce problème pour nous lorsque nous essayions de télécharger un dépôt privé depuis GitHub. Au cas où cela aiderait quelqu'un, nous avons résolu le problème en utilisant SSH et en fournissant un jeton d'accès personnel GitHub en exécutant bower login avant bower install:

Exemple de dépendance dans bower.json: 

"repository": "[email protected]:Account/Repository.git"

Commandes à exécuter dans le script de construction:

bower login -t {GitHub Personal Access Token}
bower install
5
embee

allez à https://github.com/settings/tokens , générez votre jeton 

bower login -t {your token} 

bower install
3
silverbull

Comme d'autres l'ont mentionné, définissez l'emplacement du package sur:

"[email protected]:projects/yourproject.git"

Permettra à Bower de tirer d'un dépôt git.

Si vous rencontrez un problème SSH sous Windows, procédez comme suit:

  1. Téléchargez les outils PuTTY
  2. Utilisez PuttyGen pour générer une nouvelle clé.
  3. Enregistrez la clé privée dans le dossier .ssh de votre utilisateur sous le nom anything.ppk.
  4. Copiez le texte commençant par ssh-rsa dans PuTTY gen dans le presse-papiers
  5. Allez dans github et Settings -> SSH keys -> Add SSH key en donnant un titre à votre clé et en collant le texte de PuttyGen dans la partie clé.
  6. Ajoutez une variable d'environnement nommée GIT_SSH avec la valeur correspondant au chemin d'accès à l'outil PuTTY, PLINK.exe, par exemple. C:\Program Files\PuTTY\PLINK.exe
  7. Exécutez l'outil PuTTY "Pageant.exe" puis ajoutez votre clé anything.ppk à pageant (vous pouvez ajouter un raccourci dans votre dossier de démarrage avec C:\pathtopageant\pageant.exe C:\Users\myuser\.ssh\anything.ppk pour ajouter automatiquement la clé à pageant au démarrage).
  8. Ouvrez PuTTY.exe lui-même, entrez votre nom d'hôte github entreprise (code.organization.com dans l'exemple ci-dessus) ou "github.com" dans la zone de texte du nom d'hôte et cliquez sur "Ouvrir". Vous serez probablement invité à faire confiance à l'hôte, cliquez sur oui pour l'ajouter à votre fichier known_hosts, car bower n'est pas en mesure de le faire lors de la première exécution et il se serait bloqué.
  9. Enfin, lancez bower install!
1
James Hulse

Vous pouvez être confronté à ce problème si vous clonez également à partir d'un dépôt privé. La réponse acceptée est correcte, mais je tiens à clarifier ce problème:

  1. si vous avez un accès SSH github à votre machine, accédez au dépôt Git et copiez le lien "Cloner avec SSH", puis placez-le dans le fichier bower.json.

  2. si vous avez la configuration https (authentification de connexion) pour github sur votre machine, copiez le lien "cloner avec https", puis placez-le dans le fichier bower.json . repository

Exemple: Lien SSH: [email protected]: Compte/Repository.git Lien HTTPS: https://github.com/Account/Repository.git

Fichier Bower.json:

"dépendances": {
 "repository": "collez la ligne de clonage SSH/HTTPS ici" 
}
1
Bamieh

J'ai fini par suivre, bien que travaillant uniquement pour les dépôts de github privés.

  1. Générer le jeton d'accès Github ici et le définir comme variable d'environnement GITHUB_TOKEN

  2. Définir le résolveur abrégé dans .bowerrc:

    "shorthand_resolver": "https://${GITHUB_TOKEN}@github.com/{{owner}}/{{package}}.git"
    
  3. Maintenant, je peux ajouter ma dépendance en tant que bower install me/my-private-package ou la lister dans bower.json:

    "dependencies": {
        "my-private-package": "me/my-private-package"
    }
    

Fonctionne également pour les constructions Heroku.

0
Michal Moravcik