npm git Repository aktualisiert keine Versionen

8

Ich habe einen Git Repo und ich versuche, es als eine Abhängigkeit in meinem Projekt festzulegen. Mit NPM sieht meine package.json so aus:

%Vor%

Am ersten

%Vor%

Es installiert alles und holt das Repo ohne Problem. Aber wenn ich diesen Commit-Hash ändere, sagen wir

%Vor%

es wird nicht aktualisiert! Kann mir jemand zeigen, wie ich dieses Verhalten bekommen könnte? Ich möchte diesen Code einfach teilen und in der Lage sein, diese Version irgendwann zu ändern, und die npm würde dies automatisch aktualisieren.

    
José Leal 12.03.2013, 16:49
quelle

2 Antworten

8

Ok, so ist es gemacht.

Ich war auch verwirrt.

Also habe ich ein privates npm Modul bei [email protected]: myModule / MySweetModule.git Ich habe gerade die neueste getaggte Version veröffentlicht. Leider kann ich nicht herausfinden, wie das funktioniert, ABER es funktioniert von Ihrem Meister. SOOO Ihr Master-Zweig kann Ihr Integrationszweig sein und Sie haben einen Zweig für den Aufbau der nächsten Version. Vervollständigen Sie nach der Vervollständigung der Version einfach den Master und erhöhen Sie die Version Ihres privaten Repos (Ihr privater Repo ging nun von 1.0.0 auf 1.0.1). Wenn Sie npm install aufrufen, wird Ihr Repo aktualisiert, wenn die Version package.json des Masters größer ist als der aktuelle Arbeits-Repo. Es wird immer das letzte Repo dauern.

Das scheint, als ob es saugt

Ich stimme zu. Also machen wir es besser! Wenn Sie tags für Ihre privaten Repo-Releases verwenden, können Sie sie mit "custom": "git+ssh://[email protected]:usr/proj.git#TAG_NAME"

referenzieren

Also ich habe ein Tag namens 0.1.0 , dann hätte ich die URL in package.json versioniert. "custom": "git+ssh://[email protected]:usr/proj.git#0.1.0"

Ich glaube, dass dies der beste Ansatz für Ihre Antwort ist. Aber ich bin kein gitanista

WARNUNG

Wenn Sie versuchen, eine Version wiederherzustellen, scheint es, dass es nicht funktioniert. also von der Version 0.2.2 bis 0.2.1 wird Ihr Projekt nicht aktualisiert. Stellen Sie sicher, dass Sie npm remove myProj und dann npm install ausführen, wenn Sie eine Version zurücksetzen.

    
Michael 19.06.2013 15:13
quelle
3

Dies wurde behoben in npm, bitte upgrade auf npm & gt; = 1.3.10

Beispiel Verwendung

"dependencies": { "thing": "git://github.com/myGitHubRepo/repo.js.git#56477cb", }

Ein Tag später

"dependencies": { "thing": "git://github.com/myGitHubRepo/repo.js.git#67f90b5", }

Dann npm install nochmal und du bekommst neues ref!

Wenn Ihr "myGitHubRepo / repo.js" ein privates Paket ist, sollten Sie "private": true dort angeben Stellen Sie sicher, dass es nicht versehentlich in npm-Registry veröffentlicht

    
Leo Gallucci 25.01.2014 16:17
quelle