Как установить пакет из репозитория github в Yarn

140

Когда я использую npm install fancyapps/fancybox#v2.6.1 --save, так будет установлен пакет fancybox в теге v2.6.1. Это поведение описано в документации

Я хочу спросить, как это сделать с yarn ?

Эта команда - правильная альтернатива? В документации пряжи нет ничего об этом формате.

yarn add fancyapps/fancybox#v2.6.1

Серебряная Захара
источник

Ответы:

213

Вы можете добавить любой Git-репозиторий (или tarball) в качестве зависимости yarn, указав удаленный URL-адрес (HTTPS или SSH):

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.

Вот некоторые примеры:

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]

(Примечание: Fancybox v2.6.1 недоступен в версии Git.)

Kasiriveni
источник
3
но не могу использовать стиль git @ xxx
Цзян Ю.Д.
Если бы к этому ответу была добавлена ​​опция SSH, мы могли бы потерять все остальные.
Toxaq
Не забывайте, что вы можете использовать семантическое управление версиями! yarn add https://github.com/fancyapps/fancybox.git#semver:^3.0Это будет тянуть последнюю основную версию, которая в настоящее время 3.5.7.
Elte156
1
Добавление папки dist может также потребоваться для разрешения модуля.
oligopol
Для SSH с закрытым хранилищем я обнаружил, что нам нужно добавить пользователя git. Например:yarn add ssh://git@github.com/fancyapps/fancybox#3.0
GusDeCooL
23

Для URL в стиле ssh просто добавьте ssh перед URL:

yarn add ssh://<whatever>@<xxx>#<branch,tag,commit>
Тайлер
источник
9
Это сработало для меня, когда я yarnотказался соблюдать общий gitсинтаксис ssh url: сработало: yarn add ssh://git@github.com:my-org/my-repo#commit_hashне сработало:yarn add git@github.com:my-org/my-repo#commit_hash
kilogic
9

Для GitHub (или аналогичного) частного репозитория:

yarn add 'ssh://git@github.com:myproject.git#<branch,tag,commit>'
npm install 'ssh://git@github.com:myproject.git#<branch,tag,commit>'
Эдуардо Куомо
источник
1

Я использую этот короткий формат для репозиториев GitHub:

yarn add github_user/repository_name#commit_hash

betoharres
источник