Angenommen, ich habe ein Node-Modul mit einem Bugfix versehen und möchte meine feste Version in einem Feature-Zweig verwenden, bis der Bugfix zusammengeführt und freigegeben ist.
Wie würde ich meine feste Version im dependencies
meines package.json
referenzieren?
Aus dem npm docs :
git://github.com/<user>/<project>.git#<branch>
git://github.com/<user>/<project>.git#feature\/<branch>
Ab NPM Version 1.1.65 können Sie dies tun:
<user>/<project>#<branch>
per @ danthetas Kommentar:
Ab npm 1.1.65 kann die Github-URL für Benutzer/Projekte übersichtlicher sein. npmjs.org/doc/files/package.json.html Sie können den Zweig wie user/project # branch anhängen
Damit
"babel-eslint": "babel/babel-eslint",
Oder für das Tag v1.12.0 auf jscs:
"jscs": "jscs-dev/node-jscs#v1.12.0",
Wenn Sie npm --save verwenden, erhalten Sie den längeren Git
Von https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
Git-URLs als Abhängigkeiten
Git-URLs können folgende Form haben:
git: //github.com/user/project.git#commit-ish git + ssh: // user @ hostname: project.git # commit-ish git + ssh: //[email protected]/project.git#commit- ish git + http: //[email protected]/project/blah.git#commit-ish git + https: //[email protected]/project/blah.git#commit-ish =
Das Commit-ish kann ein beliebiges Tag, sha oder ein Zweig sein, der als Argument für git checkout angegeben werden kann. Der Standardwert ist master.
GitHub-URLs
Ab Version 1.1.65 können Sie GitHub-URLs nur noch als "foo" bezeichnen: "user/foo-project". Genau wie bei Git-URLs kann ein Suffix für das Festschreiben eingefügt werden. Zum Beispiel:
{"name": "foo",
"Version": "0.0.0",
"dependencies": {"express": "visionmedia/express", "mocha": "visionmedia/mocha # 4727d357ea"}}
Wenn Sie den Zweig devel
oder feature
verwenden 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 einen git://
verweisen. URI anstelle einer Versionsnummer in Ihrem package.json
:
"dependencies": {
"public": "git://github.com/user/repo.git#ref",
"private": "git+ssh://[email protected]:user/repo.git#ref"
}
Der Teil #ref
ist optional und kann eine Verzweigung (wie master
), ein Tag (wie 0.0.1
) oder eine teilweise oder vollständige Festschreibungs-ID sein.
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 mit folgenden Aliasnamen versehen:
{ "NPMPackageName": "gitAuthor/gitRepo#tag" }
Wenn Sie dies zu @justingordons Antwort hinzufügen könnten, ist jetzt kein manuelles Aliasing mehr erforderlich!