web-dev-qa-db-ger.com

Wie installiere ich ein Bower-Paket mit einem privaten Git-Server (SSH)?

EDIT: dieser Kerl macht genau das gleiche mit Erfolg , kann nicht herausfinden, warum es für mich nicht funktioniert.

Ich habe gerade git und Setup-Berechtigungen/SSH-Authentifizierung mit öffentlichem/privatem Schlüssel (Centos 6.5) installiert. Ich kann ohne Probleme ziehen/drücken mit:

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

Der Benutzername ist git, der in /home/git/projects hinterlegte Code, das mit git --init --shared boilerplate-template erstellte Repository.

Wie kann ich in einem anderen Projekt boilerplate-template mit Bower benötigen?

Ich habe es mit der folgenden bower.json-Datei ohne Glück versucht:

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

ECMDERR: Fehler beim Ausführen von "git ls-remote --tags --heads git: //code.organization.com: projects/boilerplate-template, Beendigungscode 128 Code.organization.com (Port-Projekt) kann nicht nachgeschlagen werden ...

Leider schlägt dies fehl, da :project nicht der Port, sondern der Pfad ist. Ich habe es auch mit ssh:// anstelle von git:// versucht:

NICHT GEFUNDEN: Paket ssh: //code.organization.com: projects/boilerplate-template nicht gefunden.

53
gremo

Ok, die Lösung hier gefunden: Bower als Paketverwaltungswerkzeug für interne, private Bibliotheken verwenden . Entfernen Sie einfach git:// oder ssh:// und fügen Sie .git-Suffix hinzu:

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

Wenn Sie Github und Bower für ein privates Repo verwenden, können Sie auch eine .netrc-Datei erstellen, wenn Sie bower install auf einem Remote-Server ausführen müssen. 

z.B. Sie haben ein DO-Droplet und müssen ein git-Repo überprüfen, das SSH-Schlüssel verwendet, aber bower install mit einigen privaten Deps ausführen muss. Wenn Sie die .netrc-Datei zu Ihrem Remote-Computer hinzufügen, können Sie sich für Deployments/Builds entscheiden.

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

Ich hatte Probleme, bower login zum Laufen zu bekommen, also ging ich mit diesem Ansatz. <TOKEN> wird hier generiert. Es funktioniert für private Repositories, die auf Github gehostet werden.

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

TeamCity hatte dieses Problem, als wir versuchten, ein privates Repo von GitHub herunterzuladen. Für den Fall, dass dies jedem hilft, haben wir es gelöst, indem wir SSH verwendet haben und ein GitHub Personal Access Token bereitgestellt haben indem Sie bower login vor bower install ausführen:

Beispielabhängigkeit in bower.json: 

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

Befehle, die im Build-Skript ausgeführt werden sollen:

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

gehen Sie zu https://github.com/settings/tokens und generieren Sie Ihr Token 

bower login -t {your token} 

bower install
3
silverbull

Wie andere bereits erwähnt haben, setzen Sie den Paketspeicherort auf:

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

Erlaubt es der Laube, aus einem Git-Repository zu ziehen.

Wenn Sie unter Windows ein SSH-Problem haben, können Sie folgende Schritte ausführen:

  1. Laden Sie die PuTTY-Tools herunter
  2. Verwenden Sie PuttyGen, um einen neuen Schlüssel zu generieren.
  3. Speichern Sie den privaten Schlüssel im .ssh-Ordner Ihrer Benutzer als anything.ppk.
  4. Kopieren Sie den Text ab ssh-rsa in PuTTY gen in die Zwischenablage
  5. Gehen Sie zu github und Settings -> SSH keys -> Add SSH key, geben Sie Ihrem Schlüssel einen Titel und fügen Sie den Text von PuttyGen in den Schlüsselbereich ein
  6. Fügen Sie eine Umgebungsvariable mit dem Namen GIT_SSH hinzu, wobei der Wert der Pfad zum PuTTY-Tool PLINK.exe ist, z. C:\Program Files\PuTTY\PLINK.exe
  7. Führen Sie das PuTTY-Tool "Pageant.exe" aus und fügen Sie Ihren anything.ppk-Schlüssel zu pageant hinzu (Sie können mit C:\pathtopageant\pageant.exe C:\Users\myuser\.ssh\anything.ppk eine Verknüpfung zu Ihrem Startordner hinzufügen, um den Schlüssel beim Start automatisch zu pageant hinzuzufügen.)
  8. Öffnen Sie PuTTY.exe selbst, geben Sie Ihren github Enterprise-Hostnamen (im obigen Beispiel code.organization.com) oder "github.com" in das Textfeld "Hostname" ein und klicken Sie auf "Öffnen". Sie werden wahrscheinlich aufgefordert, dem Host zu vertrauen. Klicken Sie auf Ja, um ihn in Ihre known_hosts-Datei einzufügen, da Bower dies beim ersten Durchlauf nicht tun kann und einfach aufgehängt hätte
  9. Zum Schluss bower install!
1
James Hulse

Dieses Problem könnte auftreten, wenn Sie auch aus einem privaten Repo-System klonen ... Die akzeptierte Antwort ist korrekt, jedoch möchte ich dieses Problem klären:

  1. wenn Sie über github SSH-Zugriff auf Ihren Computer verfügen, wechseln Sie zum git repo, kopieren Sie den Link "clone with SSH" und platzieren Sie ihn in der Datei bower.json.

  2. wenn Sie https (Anmeldungsauthentifizierung) für github auf Ihrem Computer eingerichtet haben, kopieren Sie den Link "Klonen mit https" und platzieren Sie ihn in der bower.json-Datei ..__

Beispiel: SSH-Link: [email protected]: Account/Repository.git HTTPS-Link: https://github.com/Account/Repository.git

Bower.json-Datei:

"Abhängigkeiten": {
 "Repository": "Fügen Sie hier die SSH/HTTPS-Klonlinie ein" 
}
1
Bamieh

Ich endete mit dem Folgen, obwohl ich nur für private Github-Repos arbeitete.

  1. Generiere das Github-Zugriffstoken hier und setze es als Umgebungsvariable GITHUB_TOKEN

  2. Definieren Sie den Kürzel-Resolver in .bowerrc:

    "shorthand_resolver": "https://${GITHUB_TOKEN}@github.com/{{owner}}/{{package}}.git"
    
  3. Jetzt kann ich meine Abhängigkeit als bower install me/my-private-package hinzufügen oder in bower.json auflisten:

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

Funktioniert auch für Heroku-Builds.

0
Michal Moravcik