So installieren Sie das Paket von Github Repo in Yarn

140

Wenn ich benutze npm install fancyapps/fancybox#v2.6.1 --save, wird also das Fancybox-Paket mit dem Tag v2.6.1 installiert. Dieses Verhalten wird in den Dokumenten beschrieben

Ich möchte fragen, wie ich das machen soll yarn.

Ist dieser Befehl die richtige Alternative? In Garn-Dokumenten geht es nicht um dieses Format.

yarn add fancyapps/fancybox#v2.6.1

Silber Zachara
quelle

Antworten:

213

Sie können ein beliebiges Git-Repository (oder einen Tarball) als Abhängigkeit hinzufügen, yarnindem Sie die Remote-URL (entweder HTTPS oder SSH) angeben:

yarn add <git remote url> installs a package from a remote git repository.
yarn add <git remote url>#<branch/commit/tag> installs a package from a remote git repository at specific git branch, git commit or git tag.
yarn add https://my-project.org/package.tgz installs a package from a remote gzipped tarball.

Hier sind einige Beispiele:

yarn add https://github.com/fancyapps/fancybox [remote url]
yarn add ssh://github.com/fancyapps/fancybox#3.0  [branch]
yarn add https://github.com/fancyapps/fancybox#5cda5b529ce3fb6c167a55d42ee5a316e921d95f [commit]

(Hinweis: Fancybox v2.6.1 ist in der Git-Version nicht verfügbar.)

Kasiriveni
quelle
3
kann aber nicht git @ xxx style
Jiang YD
Wenn die SSH-Option zu dieser Antwort hinzugefügt würde, könnten wir wahrscheinlich alle anderen verlieren.
Toxaq
Vergessen Sie nicht, dass Sie die semantische Versionierung verwenden können! yarn add https://github.com/fancyapps/fancybox.git#semver:^3.0Dadurch wird die neueste Hauptversion abgerufen, die derzeit 3.5.7 ist.
Elte156
1
Möglicherweise ist auch das Hinzufügen eines dist-Ordners zum Auflösen des Moduls erforderlich.
Oligopol
22

Für URLs im SSH-Stil fügen Sie einfach SSH vor der URL hinzu:

yarn add ssh://<whatever>@<xxx>#<branch,tag,commit>
Tyler
quelle
9
Dies funktionierte für mich, als ich mich yarnweigerte, die übliche gitSSH-URL-Syntax yarn add ssh://[email protected]:my-org/my-repo#commit_hashyarn add [email protected]:my-org/my-repo#commit_hash
einzuhalten
9

Für GitHub (oder ähnliches) privates Repository:

yarn add 'ssh://[email protected]:myproject.git#<branch,tag,commit>'
npm install 'ssh://[email protected]:myproject.git#<branch,tag,commit>'
Eduardo Cuomo
quelle
1

Ich verwende dieses Kurzformat für Github-Repositories:

yarn add github_user/repository_name#commit_hash

Betoharres
quelle