Ich versuche, das private Github-Repository von npm zu installieren, das andere private Github-Repositorys als Abhängigkeit enthält.
Habe viele Wege und Beiträge ausprobiert, aber keiner funktioniert. Folgendes mache ich:
npm install git+https://github.com/myusername/mygitrepository.git
in package.json ist wie:
"dependencies": {
"repository1name": "git+https://github.com/myusername/repository1.git",
"repository2name": "git+https://github.com/myusername/repository2.git"
}
Was ist der richtige Weg, um es zu tun?
node.js
github
dependencies
npm
package.json
vashishatashu
quelle
quelle
Antworten:
Versuche dies:
Sie können dies auch versuchen, wobei visionmedia / express name / repo ist:
Oder (wenn das npm-Paketmodul vorhanden ist):
Entnommen aus NPM-Dokumenten
quelle
fatal: ambiguous argument 'commit-ish': unknown revision or path not in the working tree.
Ziemlich offensichtlich, dass diescommit-ish
nur ein Beispielwort ist, das Sie durchsha
ein bestimmtes Commit ersetzen sollten , das Sie benötigen. (oder entfernen Sie das#commit-ish
überhaupt, wenn Sie das letzte Commit in Ihrer Hauptniederlassung benötigen)Folgendes funktionierte in allen von mir benötigten Szenarien einwandfrei:
quelle
Für diejenigen unter Ihnen, die wegen öffentlicher Verzeichnisse hierher gekommen sind, aus den npm-Dokumenten: https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
Git-URLs als Abhängigkeiten
Git-URLs können folgende Form haben:
Das Commit-ish kann ein beliebiges Tag, sha oder Zweig sein, das als Argument für das Auschecken von Git angegeben werden kann. Der Standardwert ist master.
quelle
As of version 1.1.65, you can refer to GitHub urls as just “foo”: “user/foo-project”.
npmjs docs Referenzgit+https://
? Verwendengit
Protokoll zur Klonierung und neue Änderungen ziehen , während durchzudrückenhttps
?Die akzeptierte Antwort funktioniert, aber ich mag die Idee nicht, sichere Token in die einzufügen
package.json
Ich habe es woanders gefunden. Führen Sie einfach diesen einmaligen Befehl aus, wie in der Manpage git-config dokumentiert .
GITHUB_TOKEN
kann als Umgebungsvariable eingerichtet oder direkt eingefügt werdenund dann installiere ich private Github-Repos wie:
npm install user/repo --save
funktioniert auch in Heroku, richten Sie einfach den obigen
git config ...
Befehl alsheroku-prebuild
Skript einpackage.json
und richten Sie ihnGITHUB_TOKEN
als Heroku-Konfigurationsvariable ein.quelle
npm install
Schritt als "Befehl" ausführe ....insteadOf ssh://[email protected]
npm install user/repo --save
. Muss ich etwas konfigurieren?Es gibt mehrere Möglichkeiten, dies zu tun, wie die Leute betonen, aber die kürzesten Versionen sind:
z.B
quelle
oder nur
https://docs.npmjs.com/files/package.json#github-urls
quelle
Da Git
curl
unter der Haube verwendet, können Sie~/.netrc
Dateien mit den Anmeldeinformationen verwenden. Für GitHub würde es ungefähr so aussehen:Wenn Sie sich für die Verwendung entscheiden
access tokens
, kann es generiert werden aus:Dies sollte auch funktionieren, wenn Sie Github Enterprise in Ihrem eigenen Unternehmen verwenden. Geben Sie einfach Ihre Unternehmens-Github-URL in das
machine
Feld ein.quelle
machine github.com login <token>
auf einer Linie und"package": "https://github.com/acme/privaterepo.git#commit-ish"
oder direkt mitnpm install https://github.com/acme/privaterepo.git#commit-ish
Hier finden Sie eine detailliertere Version der Verwendung des Github-Tokens ohne Veröffentlichung in der
package.json
Datei.Wenn der Zugriff auf Github fehlschlägt, führen Sie den
git ls-remote ...
Befehl aus, den dienpm install will print
quelle
Als Referenz für mein privates Repository wollte ich kein sicheres Token einfügen, und keines der anderen einfachen (dh nur in package.json angegebenen) funktionierte. Folgendes hat funktioniert:
quelle
Es gibt auch einen SSH-Schlüssel, der immer noch nach Passwort und Passphrase fragt
Verwendung
ssh-add ~/.ssh/id_rsa
ohne lokalen Schlüsselbund.Dadurch wird vermieden, dass Sie sich mit Token herumschlagen müssen.
quelle