Post

[R Error 해결법] install_github() 했을때 Error: Failed to install 'unknown package' from GitHub

왠일인지 갑자기 github base로 R package설치하려고 하면,

1
2
3
4
5
6
7
8
9
> devtools::install_github("aertslab/SCopeLoomR", build_vignettes = TRUE)

Using github PAT from envvar GITHUB_PAT
Error: Failed to install 'unknown package' from GitHub:
  HTTP error 401.
  Bad credentials

  Rate limit remaining: 59/60
  Rate limit reset at: 2023-09-15 19:57:03 UTC

이따우 에러가 난다. 내 생각에 github token이 만료 돼서 그럴것 같기도 하지만 또 생각해보면 내가 서버에 내 git 로그인정보나 token정보를 넘긴적이 없는데 이시키가 만료된걸 어떻게 알까 싶기도 하고..

Anyway, 임시해결법을 찾아서 연명해가는중

1
Sys.unsetenv("GITHUB_PAT")

이렇게해서 이미 셋팅된 personal access token를 제거할 수 있다고함. 저거 입력하고 다시 설치하면 잘된다.

알만한 사람들은 알겠지만 저 코드는 R 세션이 닫히면 무용지물이라, 새 창을 열면 다시 입력해줘야한다.

근본적 해결법

우린 근본적 해결이 필요하다.

01. Update Github personal token

일단 github에 가서 token 업데이트를 진행해준다. 이지경까지 오기 전에 이미 여러차례 메일이 왔을거다.

메일이 오면 잘 읽어보자. 나처럼 똥인지 된장인지 맞아보고 고생하지 말고 후후

github로그인하고 https://github.com/settings/tokens/ 이쪽으로 접속하면

새로 토큰을 만들거나 갱신, 제거할 수 있다.

갱신하려고 들어가면 이렇게 보일텐데 ㅋ 새로만드는 token의 유효기간을 설정해주고 다음 페이지에서 얼마만큼의 권한을 줄건지 설정하면..

⭐️⭐️⭐️ 맨윗줄에 새 token이 생긴다!!! ⭐️⭐️⭐️ 반드시 복사!!!

복사 한 이후에 맨 아래 update 버튼 눌러서 갱신하자.

그럼 이런식으로 나옴! 여긴 끝. 이제 R로 돌아가서 환경을 update해주자.

  • 저장하는거 까먹었으면 다시 갱신하면됨ㅋㅋㅋ 한번에 잘하자.

02. Modify R env.

이제 .Renviron 라고 하는 R 환경변수를 포함하고 있는 파일에 token정보를 새것으로 바꿔주면 됨.

.Renviron 는 보통 사용자 홈 아래에 저장되는데 어딨는지 확인하고 싶다면, R 켜서 다음과 같은 코드로 확인 할 수 있음.

1
usethis::edit_r_environ()

없으면 하나 만들어줘라

1
2
3
4
vi /home/subin/.Renviron
...
R_MAX_VSIZE=200Gb
GITHUB_PAT=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 # <- 이부분에 새로 만든, 아까 복사해둔, token넣어서 업뎃해주면 됨.
  • manually 하기 싫다면 R package중에 usethis::edit_r_environ() 를 사용하는 방법도 있음. .Renviron 파일을 텍스트 편집기로 열어줌. GITHUB_PAT=부분 넣어주면 됨.

다 됐다면 다 정리하고 R session 새로 열어주면 해결됨.

Reference

This post is licensed under CC BY 4.0 by the author.

© Subin Cho. Some rights reserved.

Using the Chirpy theme for Jekyll.