2014-07-20 14 views
51

EDIT: this guy do exactly the same with success, non riesco a capire perché non funziona per me.Come installare un pacchetto bower utilizzando un server git privato (SSH)?

Ho appena installato git e le autorizzazioni di installazione/autenticazione SSH con chiave pubblica/privata (Centos 6.5). Sono in grado di tirare/spingere senza problemi usando cioè .:

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

Username è git, codice inserito in /home/git/projects, repository creati con git --init --shared boilerplate-template.

Come è possibile richiedere boilerplate-template con Bower in un altro progetto?

Ho provato con il seguente file bower.json senza fortuna:

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

ECMDERR: Impossibile eseguire "git --tags ls-remote --heads git: // code.organization.com:projects/boilerplate-template, codice di uscita in grado di ricercare code.organization.com (progetto del porto) ...

Purtroppo non riesce perché :project non è la porta ma il percorso. Ho anche provato con ssh:// invece di git://:

ENOTFOUND: Pacchetto ssh: //code.organization.com: progetti/boilerplate-modello non trovato.

risposta

63

Ok, abbiamo trovato la soluzione qui: Using Bower as the Package Management tool for Internal, Private Libraries. Rimuovere semplicemente git:// o ssh:// e aggiungere il suffisso .git:

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

Ho ricevuto questo errore 'ssh: connettersi all'host github.com porta 22: Connessione rifiutata' e https://help.github.com/articles/using-ssh-over-the-https-port/ ha aiutato – chfw

+1

Qualsiasi idea di dove bower cerca la tua chiave privata su Windows? – markmnl

+1

Nella cartella utente .ssh – gremo

11

Inoltre, se si sta utilizzando Github e Bower per un repo privato è possibile creare un file .netrc se è necessario eseguire bower install su un server remoto.

ad es. Hai un droplet DO e hai bisogno di eseguire il checkout di un repository git che utilizza le chiavi ssh, ma deve eseguire bower install con alcuni deps privati. Se si aggiunge il file .netrc al computer remoto, sarà utile eseguire distribuzioni/build.

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

Si potrebbe affrontare questo problema se si sta clonando anche da un repository privato. La risposta accettata è corretta, però voglio chiarire questa preoccupazione:

  1. se si ha accesso GitHub SSH al vostro computer, andare al repo git e copiare il "clone con SSH", inserite poi metterlo all'interno del file bower.json.

  2. se si dispone di https (autenticazione di accesso) di installazione per github sulla macchina, copiare il collegamento "clone con https", quindi inserirlo nel file bower.json. repository

Esempio: collegamento SSH: [email protected]: Conto/Repository.git HTTPS link: https://github.com/Account/Repository.git

Bower.json di file:

"dependencies": { 
"repository": "paste SSH/HTTPS clone line here" 
}
5

TeamCity ha avuto questo problema per noi quando proviamo a scaricare un repo privato da GitHub. Nel caso in cui questo aiuta chiunque abbiamo risolto usando SSH e fornendo un GitHub Personal Access Token eseguendo bower login prima bower install:

Esempio dipendenza nel bower.json:

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

comandi da eseguire all'interno di script di build:

bower login -t {GitHub Personal Access Token} 
bower install 
8

Ho avuto problemi a lavorare su bower login, quindi sono andato con questo approccio. <TOKEN> viene generato here. Funziona per repository privati ​​ospitati su Github.

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

Alcuni degli altri metodi non hanno funzionato su macchine diverse nel mio ufficio ma questo uno ha funzionato in modo coerente! (grazie!!!) – Quinma

1

Come altri hanno detto, l'impostazione della posizione del pacchetto di:

permetterà pergolato a tirare da un repository git.

Se si ottiene un problema SSH su Windows è possibile seguire questa procedura:

  1. scaricare gli strumenti che il mastice
  2. Usa PuTTYgen per generare una nuova chiave.
  3. Salva la chiave privata nella cartella utenti .ssh come anything.ppk
  4. Copiare il testo a partire ssh-rsa in stucco gen negli appunti
  5. Vai a Github e Settings -> SSH keys -> Add SSH key dando la chiave di un titolo e incollando il testo da PuTTYgen per la parte chiave
  6. Aggiungere una variabile di ambiente denominata GIT_SSH con il valore che rappresenta il percorso dello strumento Putty PLINK.exe es. C:\Program Files\Putty\PLINK.exe
  7. Eseguire lo strumento Putty "Pageant.exe" Allora aggiungi la tua chiave anything.ppk per Pageant (è possibile aggiungere un collegamento alla cartella di avvio con C:\pathtopageant\pageant.exe C:\Users\myuser\.ssh\anything.ppk per aggiungere automaticamente la chiave per Pageant all'avvio)
  8. Aperto putty.exe sé, digitare il tuo hostname github entreprise (code.organization.com nell'esempio sopra), o "github.com" nella casella di testo hostname e fai clic su "Apri". Probabilmente ti verrà chiesto di fidarti dell'host, fai clic su Sì per aggiungerlo al tuo file known_hosts poiché bower non è in grado di farlo alla prima esecuzione e dovrebbe semplicemente essere sospeso
  9. Finalmente eseguito bower install!
1

Ho terminato con il seguente, anche se funziona solo per repository Github privati.

  1. Generare accesso Github token di here e impostarla come variabile d'ambiente GITHUB_TOKEN

  2. Definire resolver stenografia in .bowerrc:

    "shorthand_resolver": "https://${GITHUB_TOKEN}@github.com/{{owner}}/{{package}}.git" 
    
  3. ora posso aggiungere la mia dipendenza come bower install me/my-private-package o elencare in bower.json:

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

Funziona anche per le build di Heroku.

Problemi correlati