我正在GitHub上开发两个软件包,我试图用devtools::install_github()
命令安装它们。通过devtools安装r软件包的问题install_github
由于仓库是私人的,我创建了一个auth_token
我的账户(据我看到的,有没有办法为一个单一的回购做到这一点?)
devtools::install_github("mariodejung/rMQanalysis",
auth_token="6cd2dbe8bd1f062842b90afXXXXXXXXXXXXXXXXX",
ref="develop",
dependencies=TRUE)
devtools::install_github("mariodejung/cfpscripts",
auth_token="6cd2dbe8bd1f062842b90afXXXXXXXXXXXXXXXXX",
ref="develop")
第一包的安装按预期工作,第二个开始安装,但因错误而停止,并由于任何原因它提到了第一个已安装的软件包。查看最后评论中的错误。 我不知道为什么会发生这种情况,以及如何解决它。
我再次在下面添加了错误消息,因为我已经改变了一些东西。
对不起,要更改auth_token
,但该脚本现在应该保持私密。
我也检查了只用一个命令安装两个软件包,但它导致相同的错误信息。根据评论的建议,我还在我的环境中添加了GITHUB_PAT
变量,以便不公开使用身份验证令牌。
devtools::install_github(c("mariodejung/rMQanalysis","mariodejung/cfpscripts"),
ref="develop",
dependencies=TRUE)
此命令现在已经成功地安装rMQanalysis
包和失败,同样的错误信息,而安装cfpscripts
。仍然不知道如何找出问题所在。它适用于其他机器。还安装了所有依赖项。
devtools::install_github(c("mariodejung/rMQanalysis","mariodejung/cfpscripts"), ref='develop', quiet=FALSE)
Using GitHub PAT from envvar GITHUB_PAT
Downloading GitHub repo mariodejung/[email protected]
from URL https://api.github.com/repos/mariodejung/rMQanalysis/zipball/develop
Installing rMQanalysis
"C:/PROGRA~1/R/R-32~1.5/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL \
"C:/Users/cfproteomics/AppData/Local/Temp/RtmpktvmUK/devtools43850da641a/mariodejung-rMQanalysis-0e38dd3463ea830b19f0afa2ade6f2e14db93041" \
--library="C:/Users/cfproteomics/Documents/R/win-library/3.2" --install-tests
* installing *source* package 'rMQanalysis' ...
** R
** data
*** moving datasets to lazyload DB
** inst
** tests
** preparing package for lazy loading
** help
No man pages found in package 'rMQanalysis'
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* DONE (rMQanalysis)
Downloading GitHub repo mariodejung/[email protected]
from URL https://api.github.com/repos/mariodejung/cfpscripts/zipball/develop
Installing cfpscripts
Downloading GitHub repo mariodejung/[email protected]
from URL https://api.github.com/repos/mariodejung/rMQanalysis/zipball/develop
Error in stop(github_error(request)) : Not Found (404)
我也用traceback()
功能,但它并没有给更多的见解......
15: stop(github_error(request))
14: download_github(dest, src, auth)
13: remote_download.github_remote(remote, quiet = quiet)
12: remote_download(remote, quiet = quiet)
11: FUN(X[[i]], ...)
10: vapply(remotes, install_remote, ..., FUN.VALUE = logical(1))
9: install_remotes(object$remote[behind], ..., quiet = quiet)
8: update.package_deps(pkg, ..., Ncpus = threads, quiet = quiet,
upgrade = upgrade)
7: update(pkg, ..., Ncpus = threads, quiet = quiet, upgrade = upgrade)
6: install_deps(pkg, dependencies = initial_deps, upgrade = upgrade_dependencies,
threads = threads, force_deps = force_deps, quiet = quiet,
...)
5: install(source, ..., quiet = quiet, metadata = metadata)
4: FUN(X[[i]], ...)
3: vapply(remotes, install_remote, ..., FUN.VALUE = logical(1))
2: install_remotes(remotes, quiet = quiet, ...)
1: devtools::install_github(c("mariodejung/rMQanalysis", "mariodejung/cfpscripts"),
ref = "develop", quiet = FALSE)
UPDATE2
整个问题似乎是在devtools 1.12.0
的错误。它在1.11.1
工作正常。
我想通了,我的rMQanalysis
包被提及cfpscripts
为Imports:
。如果我从Description
中删除Imports:
声明,则该软件包安装正常。
我还在想,为什么我不能设置dependencies=FALSE
来防止install_github
安装依赖包。
我填写了一份关于devtools的错误报告,但没有反应。
实际上,你应该在'〜/ .Renviron'中的'GITHUB_PAT'中存储你的GitHub认证令牌(你需要重新启动R,以便将'.Renviron'中的数据加载到你的环境中)。它将在未来节省大量的打字时间,有助于防止曝光,并有助于解决此问题。 – hrbrmstr
感谢提供'GITHUB_PAT'的提示,不知道。但它不能解决问题。仍然得到同样的错误,但是使用了“使用来自envvar GITHUB_PAT的GitHub PAT”的评论。 – drmariod
@ drmariod我想知道这是否与“测试,如果安装的软件包可以加载”。你可以运行第一个安装脚本,然后重新启动r会话,运行第二个安装?我的假设是,第一个软件包被加载但没有干净卸载,这使得第二个软件包安装尝试安装第一个软件包失败。 – dracodoc