我制作了一个R包,托管在我的雇主的Atlassian Stash实例中。我一直在告诉其他用户克隆存储库,然后使用devtools::install("<path-to-repo>")
安装软件包。
如何让用户在不克隆存储库的情况下安装该软件包?我可以在不将代码托管在更易访问的地方的情况下做到这一点吗?
我制作了一个R包,托管在我的雇主的Atlassian Stash实例中。我一直在告诉其他用户克隆存储库,然后使用devtools::install("<path-to-repo>")
安装软件包。
如何让用户在不克隆存储库的情况下安装该软件包?我可以在不将代码托管在更易访问的地方的情况下做到这一点吗?
使用这个解决方案作为起点,我发现你可以使用devtools
和一个Stash ssh的url:
devtools::install_git("ssh://git@stash.yourdomain.com:1234/project/repo.git")
这将从master
分支的最新提交安装。您还可以安装特定的分支:
devtools::install_git("ssh://git@stash.yourdomain.com:1234/project/repo.git", branch="develop")
或标签:
devtools::install_git("ssh://git@stash.yourdomain.com:1234/project/repo.git", branch="v1.0")
(请注意,使用标签时不需要tags/
前缀)
只有当您在Stash帐户上拥有计算机的SSH密钥时,此方法才能起作用。使用http克隆URL将无法正常工作,因为您无法进行适当的身份验证。
devtools :: install
命令,但仍需要先从某个地方获取文件。我喜欢使用devtools :: install_github
从github安装的简单性,而我下面的解决方案提供了类似的一步流程。 - ClaytonJY