gpt4 book ai didi

R:如何通过 install_github() 安装特定版本?

转载 作者:行者123 更新时间:2023-12-03 02:17:01 24 4
gpt4 key购买 nike

如果软件包的当前版本出现一些错误,用户可能更愿意安装特定版本(例如版本 1.0.1)。可以使用什么样的R代码来实现这一目标?

以最新OhdsiRTools R包的发布为例:

https://github.com/OHDSI/OhdsiRTools/tree/v1.0.1

命令类似于:

install_github("OHDSI/OhdsiRTools", ref = 'v1.0.1')

上面的代码不正确。它仅适用于分支(例如,masterdevA)。但是 devtools 包具有引用版本的函数。

理想情况下,我会通过标签引用版本(但带有提交 ID 的解决方案也可以)。

额外奖励:什么代码可以安装“最新”版本。 (但请将此视为一个额外问题。有关的问题是主要问题)

最佳答案

您需要将版本标签直接附加到存储库参数的名称上。因此,username/repo@releasetag 就可以了。仅当您需要引用 git 存储库的特定分支时才使用参数 ref = "devA"

举个例子,关于 OhdsiRTools v1.0.1 ,我们有

我们有:

devtools::install_github("OHDSI/OhdsiRTools@v1.0.1")

编辑

在尝试了 devtools 源代码之后,我注意到可以通过以下方式请求最新的源代码:

username/repo@*release

因此,您可以使用:

devtools::install_github("OHDSI/OhdsiRTools@*release")

结束编辑

已过时,请参阅编辑

不幸的是,要获取最新的发布标签,工作要复杂一些,因为它需要解析来自 GitHub API 的响应。如果您确实需要标记版本,这里有一些注释...您必须从以下位置解析 JSON:

https://api.github.com/repos/<user>/<repo>/releases/latest

使用 RJSONIO , jsonlite , rjson

要从以下位置提取“tag_name”:

{
"url": "https://api.github.com/repos/OHDSI/OhdsiRTools/releases/2144150",
"assets_url": "https://api.github.com/repos/OHDSI/OhdsiRTools/releases/2144150/assets",
"upload_url": "https://uploads.github.com/repos/OHDSI/OhdsiRTools/releases/2144150/assets{?name,label}",
"html_url": "https://github.com/OHDSI/OhdsiRTools/releases/tag/v1.0.1",
"id": 2144150,
"tag_name": "v1.0.1",
"target_commitish": "master",
"name": "Minor bug fix",
"draft": false,
"author": {
"login": "schuemie",
"id": 6713328,
"avatar_url": "https://avatars.githubusercontent.com/u/6713328?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/schuemie",
"html_url": "https://github.com/schuemie",
"followers_url": "https://api.github.com/users/schuemie/followers",
"following_url": "https://api.github.com/users/schuemie/following{/other_user}",
"gists_url": "https://api.github.com/users/schuemie/gists{/gist_id}",
"starred_url": "https://api.github.com/users/schuemie/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/schuemie/subscriptions",
"organizations_url": "https://api.github.com/users/schuemie/orgs",
"repos_url": "https://api.github.com/users/schuemie/repos",
"events_url": "https://api.github.com/users/schuemie/events{/privacy}",
"received_events_url": "https://api.github.com/users/schuemie/received_events",
"type": "User",
"site_admin": false
},
"prerelease": false,
"created_at": "2015-11-18T00:55:28Z",
"published_at": "2015-11-18T06:35:57Z",
"assets": [

],
"tarball_url": "https://api.github.com/repos/OHDSI/OhdsiRTools/tarball/v1.0.1",
"zipball_url": "https://api.github.com/repos/OHDSI/OhdsiRTools/zipball/v1.0.1",
"body": "Fixed bug in `convertArgsToList ` function."
}

以上摘自https://api.github.com/repos/OHDSI/OhdsiRTools/releases/latest

关于R:如何通过 install_github() 安装特定版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40179493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com