GitHubで2つのパッケージを開発中ですが、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")
最初のパッケージのインストール2つ目はインストールを開始しますが、エラーで停止し、何らかの理由で既にインストールされている最初のパッケージについて言及しています。最後のコメントのエラーを見てください。 私はこれがなぜ起こり、それを解決するのか分かりません。
私はすでにいくつか変更して以来、以下のエラーメッセージを再度追加しました。
auth_token
を変更して申し訳ありませんが、スクリプトは今のところプライベートにする必要があります。
1つのコマンドで両方のパッケージをインストールすることも確認しましたが、同じエラーメッセージが表示されます。私はまた、authトークンを公然と使用しないように、コメントから示唆されるように私の環境に変数を追加しました。
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)
アップデート2
全体の問題はdevtools 1.12.0
のバグのようです。それは1.11.1
で正常に動作します。
rMQanalysis
パッケージは、cfpscripts
にImports:
と記載されています。このImports:
文をDescription
から削除すると、パッケージが正常にインストールされます。
私はまだinstall_github
が依存パッケージをインストールするのを防ぐためにdependencies=FALSE
を設定できないのかと疑問に思っています。
私はすでにdevtoolsのバグレポートを記入しましたが、まだ反応はありません。
'〜/ .Renviron'の' GITHUB_PAT'にGitHub認証トークンを格納する必要があります( '.Renviron'のデータを環境にロードするためにRを再起動する必要があります)。これは、将来のタイピング/タイムを大幅に節約し、露出を防止し、この問題の解決に役立ちます。 – hrbrmstr
'GITHUB_PAT'のヒントのおかげで、それは分かりませんでした。しかし、それは問題を解決しません。 "envvar Github_PATからのGitHub PATの使用"というコメントでも同じエラーが表示されます。 – drmariod
@ drmariodこれは "インストールされたパッケージがロード可能かどうかのテスト"に関連しているのでしょうか?最初のインストールスクリプトを実行してから、rセッションを再起動して2回目のインストールを実行できますか?私の仮説は、最初のパッケージがロードされたが、完全にアンロードされず、2番目のパッケージのインストールが1番目のパッケージをインストールしようとすると失敗するということです。 – dracodoc