Rozwijam dwa pakiety na GitHub i próbuję je zainstalować za pomocą polecenia devtools::install_github()
.Problemy z instalowaniem pakietu r przez devtools install_github
Ponieważ repozytoria są prywatne, stworzyłem auth_token
na moim koncie (o ile widzę, nie ma sposobu, aby to zrobić za pomocą pojedynczego repo?)
devtools::install_github("mariodejung/rMQanalysis",
auth_token="6cd2dbe8bd1f062842b90afXXXXXXXXXXXXXXXXX",
ref="develop",
dependencies=TRUE)
devtools::install_github("mariodejung/cfpscripts",
auth_token="6cd2dbe8bd1f062842b90afXXXXXXXXXXXXXXXXX",
ref="develop")
Instalacja pierwszego pakietu działa zgodnie z oczekiwaniami, drugi zaczyna się instalować, ale zatrzymuje się z błędem iz jakiegokolwiek powodu wspomniał o pierwszym już zainstalowanym pakiecie. Zobacz błąd w komentarzu na końcu. Nie wiem, dlaczego tak się dzieje i jak go rozwiązać.
Ponownie dodałem poniższy komunikat o błędzie, ponieważ zmieniłem już pewne rzeczy.
Przepraszamy za zmianę auth_token
, ale skrypt powinien pozostać na razie prywatny.
Sprawdziłem również, aby zainstalować oba pakiety za pomocą tylko jednego polecenia, ale prowadzi to do tego samego komunikatu o błędzie. Dodałem także zmienną GITHUB_PAT
w moim środowisku, zgodnie z sugestiami z komentarzy, aby nie używać publicznie tokena autoryzacji.
devtools::install_github(c("mariodejung/rMQanalysis","mariodejung/cfpscripts"),
ref="develop",
dependencies=TRUE)
Polecenie to teraz instaluje pakiet rMQanalysis
pomyślnie i nie z tego samego komunikatu o błędzie podczas instalowania cfpscripts
. Wciąż nie wiadomo, jak rozwiązać problem. Działa na innych maszynach. Również wszystkie zależności są zainstalowane.
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)
użyłem również funkcję traceback()
ale nie daje więcej spostrzeżeniami ...
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
Cały problem wydaje się być błąd w devtools 1.12.0
. Działa dobrze w 1.11.1
.
Wyliczyłem, że mój pakiet rMQanalysis
jest wymieniony w cfpscripts
jako Imports:
. Jeśli usuniemy tę instrukcję Imports:
z Description
, pakiet zostanie poprawnie zainstalowany.
Nadal się zastanawiam, dlaczego nie mogę ustawić dependencies=FALSE
, aby uniemożliwić install_github
instalowanie zależnych pakietów.
Wypełniłem już zgłoszenie błędu na temat devtools, ale bez reakcji.
Naprawdę powinieneś przechowywać swój token GitHub Auth w 'GITHUB_PAT' w' ~/.Renviron' (będziesz musiał zrestartować R, aby załadował dane do '.Renviron' do twojego środowiska).Pozwoli to zaoszczędzić mnóstwo pisania/czasu w przyszłości, pomoże zapobiec ekspozycji i może pomóc rozwiązać ten problem. – hrbrmstr
Dzięki za podpowiedź z 'GITHUB_PAT', nie wiedziałem tego. Ale to nie rozwiązuje problemu. Nadal pojawia się ten sam błąd, ale z komentarzem "Używanie GitHub PAT z envvar GITHUB_PAT". – drmariod
@ drmariod Zastanawiam się, czy jest to związane z "testowaniem, czy zainstalowany pakiet może zostać załadowany". Czy możesz uruchomić pierwszy skrypt instalacyjny, a następnie uruchomić ponownie sesję, uruchomić drugą instalację? Moja hipoteza jest taka, że pierwszy pakiet został załadowany, ale nie rozładowany w sposób czysty, co sprawia, że druga instalacja pakietu kończy się niepowodzeniem. – dracodoc