2017-10-13 35 views
1

我.travis.yml如下:安裝失敗:錯誤的憑證(401),特拉維斯CI爲R

language: r 
sudo: required 
cache: packages 

before_install: 
    - echo -e "machine github.com\n login $CI_USER_TOKEN" >> ~/.netrc 
    - chmod 755 ./travis-tool.sh 

install: 
    - ./travis-tool.sh install_github RcppCore/Rcpp 
    - ./travis-tool.sh install_github rstats-db/DBI 
    - ./travis-tool.sh install_github rstats-db/RPostgres 

不過,我不能夠安裝RCPP包。它拋出以下錯誤

+InstallGithub RcppCore/Rcpp 
+EnsureDevtools 
+Rscript -e 'if (!("devtools" %in% rownames(installed.packages()))) q(status=1)' 
+echo 'Installing GitHub packages: RcppCore/Rcpp' 
Installing GitHub packages: RcppCore/Rcpp 
+Rscript -e 'devtools::install_github(commandArgs(TRUE),host = '\''https://api.github.com'\'', dependencies = FALSE)' RcppCore/Rcpp 
Using GitHub PAT from envvar GITHUB_PAT 
Downloading GitHub repo RcppCore/[email protected] 
from URL https://api.github.com/repos/RcppCore/Rcpp/zipball/master 
Installation failed: Bad credentials (401) 

我從github

複製travis-tools.sh文件中的任何幫助表示讚賞

+0

我能夠在我的電腦和碼頭使用相同的命令安裝包。 –

+0

您是否在Docker /計算機上使用修改的'〜/ .netrc'登錄? – dk14

+0

此外,我注意到「GITHUB_PAT」(env變量)用於登錄,所以可能發生.netrc被忽略,只是猜測 – dk14

回答

1

不知道爲什麼的.netrc方法沒有工作(可能R-客戶端只是忽略它不像捲曲),但根據documentation,使用install_github登錄的正確方法是設置GITHUB_PAT環境變量。也許是這樣的:

env: 
    - GITHUB_PAT=$CI_USER_TOKEN 

基本上,你的日誌表明,GITHUB_PAT用於登錄嘗試:

+ RSCRIPT -e 'devtools :: install_github(commandArgs(TRUE),主機=' \ '' https://api.github.com '\' '依賴= FALSE)' RcppCore/RCPP

從ENVVAR使用GitHub的PAT GITHUB_PAT

可以將我閱讀這篇文章:https://www.r-bloggers.com/using-travis-make-sure-you-use-a-github-pat/