Angenommen, ich habe ein Knotenmodul mit einem Bugfix gegabelt und möchte meine feste Version verwenden, natürlich für einen Feature-Zweig, bis der Bugfix zusammengeführt und freigegeben wird.
Wie würde ich auf meine feste Version in dependencies
meiner verweisen package.json
?
user/project
. npmjs.org/doc/files/package.json.html Sie können den Zweig wieuser/project#branch
git://github.com/<user>/<project>.git#feature/blah
hat funktioniert,<user>/<project>.git#feature/blah
aber nicht ... vielleicht muss ihre Regex weiter fortgeschritten sein, um diesfeature/blah
zu berücksichtigen. Dies war npmv1.4.28
per @ danthetas Kommentar:
Damit
Oder für Tag v1.12.0 auf jscs:
Beachten Sie, wenn Sie npm --save verwenden, erhalten Sie den längeren Git
Von https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
quelle
Wenn Sie ein bestimmtes Paket verwenden
devel
oderfeature
verzweigen möchten oder ein bestimmtes Paket nicht in der NPM-Registrierung veröffentlicht haben oder dies nicht können, weil es sich um ein privates Modul handelt, können Sie auf einengit://
URI anstelle einer Versionsnummer in Ihrem Verzeichnis verweisenpackage.json
:Der
#ref
Teil ist optional und kann ein Zweig (wiemaster
), ein Tag (wie0.0.1
) oder eine teilweise oder vollständige Festschreibungs-ID sein.quelle
In der neuesten Version von NPM können Sie einfach Folgendes tun:
npm install gitAuthor/gitRepo#tag
Wenn das Repo ein gültiges NPM-Paket ist, wird es in package.json automatisch als Alias eingestuft:
{ "NPMPackageName": "gitAuthor/gitRepo#tag" }
Wenn Sie dies zu @justingordons Antwort hinzufügen könnten, wäre jetzt kein manuelles Aliasing erforderlich!
quelle
Wenn es jemandem hilft, habe ich alles oben versucht (https mit Token-Modus) - und immer noch funktionierte nichts. Ich habe keine Fehler erhalten, aber in node_modules oder package_lock.json wurde nichts installiert. Wenn ich das Token oder einen Buchstaben im Repo- oder Benutzernamen usw. ändere, wird eine Fehlermeldung angezeigt. Also wusste ich, dass ich den richtigen Token- und Reponamen hatte.
Endlich wurde mir klar, dass der Name der Abhängigkeit, die ich in meinem package.json hatte, nicht mit dem Namen in package.json des Repos übereinstimmte, das ich abrufen wollte. Selbst npm install --verbose sagt nicht, dass es ein Problem gibt. Es scheint nur die Abhängigkeit ohne Fehler zu ignorieren.
quelle