LoginSignup
0
0

GitHub上のRパッケージをインストールする時にエラーになった件

Posted at

RStudioのコンソールから、とあるパッケージを練習がてらインストールしようとしたら、下の画像のエラーがでた。

install_R-package_from_GitHub.png

これの解決策の例を以下に示す。

結論

GitHubでパーソナルアクセストークンを生成し、RSessionの環境変数に設定すればOK。

原因として考えられる問題

1. GitHubの認証情報が正しくない
 GitHubにログインできるユーザー名とパスワードが正しく設定されていない可能性がある。

2. 個人用のアクセストークンが設定されていない
 GitHubのアカウントで個人アクセストークンを生成し、環境変数に設定する必要がある。

3. レート制限に達している
 GitHubのAPIにアクセスする際のレート制限に達している可能性がある。

解決策

1. 認証情報の確認
  1. GitHubのユーザー名とパスワードが正しく設定されていることを確認する
  2. 必要に応じて、ユーザー名とパスワードを更新する

2. 個人アクセストークンの設定
  1. GitHubのアカウントで個人アクセストークンを作成する
  2. 作成したトークンを環境変数GITHUB_PATに設定する
  3. RでREMOTES_GITHUB_PAT環境変数を使うように設定する

3. レート制限の確認
  1. GitHubのAPIレート制限を確認する
  2. 制限に達している場合は、しばらく待ってから再試行する

今回は2番目の方法を試してみた。

実際にやった手順

1. 『GitHub』にサインインする
2. Dashboard画面から、「Settings」→「Developer Settings」の順にアクセスする
3. 「Personal access tokens」から、生成するトークンを選択する

現在トークンは、Classic版Beta版(Fine-grained tokens) の2種類があり、
どちらを使えば良いかですが、以下のようなアドバイスが一般的なようです:
Classic版のパーソナルアクセストークンは、まだ多くのツールやライブラリでサポートされているため、選ぶ場合が多いです。
Fine-grained版は、セキュリティ性が高く、必要最小限の権限設定ができるため、より高度なセキュリティが求められる場合に適しています。
Rパッケージのインストールの場合、Classic版のパーソナルアクセストークンを使うのが無難だと思われます。多くのユーザが使用しており、RのライブラリでもClassic版をサポートしているためです。
ただし、Fine-grained版を使いたい場合は、ドキュメントを確認してR側での対応状況を確認する必要があります。最新の情報を確認しながら、用途に応じて適切なトークンを選択することをおすすめします。

上記より、今回は「Classic」版を選択する。
2-PATs.png

4. 右側の「Generate new token」からもう一度Classicの方を選び、トークン新規生成画面を表示させる

5. 「Note」欄に生成するトークンの説明を、「Expiration」欄で有効期限を設定する

 ※デフォルトの"30 days"でも良いが、今回のように練習としてパッケージをインストールするためだけに使用したいなら、最短の"7 days"で十分だ。これ以下の「Select scopes」の欄にたくさんのチェック項目があるが、必須入力箇所は「Expiration」部だけなので、よく分からない場合は未記入で問題ない。
new-PAT.png

6. 下部の[Generate token]ボタンをクリックし、生成されたトークンのコードをコピーする

7. 『RStudio』に戻り、以下のコマンドをコンソールで実行する

Sys.setenv(GITHUB_PAT = "my_github_pat_here")

 my_github_pat_hereの部分に、6.でコピーしておいたトークンのコードを貼り付ける。このコマンドが、RSessionの環境変数にGitHubのパーソナルアクセストークンを設定する処理に該当する。

8. 再度、以下のコマンドで目的のパッケージのインストールを試す

devtools::install_github("owner/repo")

 owner部に作成者のGitHubのIDを、repo部にパッケージ名をそれぞれ入力する。

これで、目的としていたRパッケージ(と、それに付随する必要なパッケージ群)を、「Bad credentials(悪い証明書)」というエラーが解消され、見事にインストールすることができた。
もし上記の方法でも解決しない場合は...

  • Rコンソールでdevtools::install_github()を実行する代わりに、Rスクリプトを作成してインストールする
  • Rのバージョンやパッケージ名、プロキシ設定、ネットワーク環境などを確認する

などをやってみる。

参考にした記事となるかもしれない記事一覧

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0