从克隆的存储库安装/导入R库

rjjhvcjd  于 2023-02-26  发布在  其他
关注(0)|答案(3)|浏览(83)

我有一个从GitHub repo克隆的R库,我想修改它。但是,我从来没有从CRAN以外的地方构建和导入过一个库。我该怎么做呢?

zu0ti5jz

zu0ti5jz1#

如果你想在编译前修改代码,那么install_github()将无法工作。你应该把git repo克隆到你机器上的一个目录下,然后运行:

install.packages("devtools")
library(devtools)
build("~/put/the/package/path/here")

如果您使用的是RStudio,您可以使用克隆和修改的源代码创建自己的包,如here所述。

neskvpey

neskvpey2#

@GregorThomas评论太重要了,我觉得需要澄清。
在你构建了你的软件包之后,你仍然需要安装它。运行devtools::build返回你需要安装的tar.gz文件的位置。因此你可以将它赋给一个变量并将它传递给devtools::install_local
传递给devtools::build的路径应该是包含DESCRIPTION文件的文件夹。
请注意,如果您想派生/克隆一个存储库并为您的版本命名,您可以更改DESCRIPTION文件中的Package值,这个新名称就是您传递给library()的名称

install.packages("devtools")
library(devtools)
my_cloned_library_build = devtools::build("~/put/the/package/path/here")
devtools::install_local(my_cloned_library_build)
library(my_cloned_library)
pqwbnv8z

pqwbnv8z3#

如果您想从命令行完成所有操作,请尝试以下操作:

git clone https://github.com/user/repo.git
R -e "install.packages('devtools');devtools::install('path/to/package')"

用克隆包的路径替换path/to/package,注意如果你使用Ubuntu,你可能需要先安装these系统库。

相关问题