如何在纱线中从github repo安装软件包


140

当我使用时npm install fancyapps/fancybox#v2.6.1 --save,将安装位于v2.6.1标签的fancybox软件包。docs中描述了此行为

我想问一下,该怎么做yarn

此命令是正确的选择吗?在yarn文档中,与这种格式无关。

yarn add fancyapps/fancybox#v2.6.1

Answers:


213

您可以yarn通过指定远程URL(HTTPS或SSH)将任何Git存储库(或tarball)添加为依赖项:

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版本中不可用。)


3
但不能使用git @ xxx样式
Jiang YD

如果在此答案中添加了SSH选项,我们可能会丢失所有其他选项。
toxaq

别忘了您可以使用语义版本控制!yarn add https://github.com/fancyapps/fancybox.git#semver:^3.0这将拉出最新的主版本,当前是3.5.7。
Elte156 '19

1
解决模块也可能需要添加dist文件夹。
oligopol

对于带有私有存储库的SSH,我发现我们需要添加user git。例如:yarn add ssh://git@github.com/fancyapps/fancybox#3.0
GusDeCooL

23

对于ssh样式的url,只需在url之前添加ssh:

yarn add ssh://<whatever>@<xxx>#<branch,tag,commit>

9
当我yarn拒绝遵守通用的gitssh url语法时,这对我yarn add ssh://git@github.com:my-org/my-repo#commit_hashyarn add git@github.com:my-org/my-repo#commit_hash
有用


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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.