2 votes

L'installation a échoué : Bad credentials (401) travis ci avec R

Mon fichier .travis.yml est le suivant :

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

Cependant, je ne parviens pas à installer le paquet Rcpp. l'erreur suivante apparaît

+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/Rcpp@master
from URL https://api.github.com/repos/RcppCore/Rcpp/zipball/master
Installation failed: Bad credentials (401)

J'ai copié le fichier travis-tools.sh à partir de github

Toute aide est la bienvenue

1voto

dk14 Points 9865

Je ne sais pas pourquoi l'approche .netrc n'a pas fonctionné (probablement que R-client l'ignore contrairement à curl), mais d'après la documentation la bonne façon de se connecter à l'aide de install_github est de fixer GITHUB_PAT variable d'environnement. Peut-être quelque chose comme :

env:
  - GITHUB_PAT=$CI_USER_TOKEN

En gros, votre journal suggère que GITHUB_PAT a été utilisé pour la tentative de connexion :

+Rscript -e 'devtools::install_github(commandArgs(TRUE),host = '\'' https://api.github.com '\'', dependencies = FALSE)' RcppCore/Rcpp

Utiliser le PAT de GitHub à partir de l'envvar GITHUB_PAT

Vous pouvez également lire cet article : https://www.r-bloggers.com/using-travis-make-sure-you-use-a-github-pat/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X