我正在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