R studio 패키지 설치 오류 모음

반응형
    반응형

    R은 패키지 설치가 너무 어렵다

    R은 깔끔하게 코드를 작성할 수 있어 좋은데 호환성이 너무 안좋습니다. 조금만 엇나가면 바로 안됩니다. 힘드네요. 특히 패키지 설치로 애를 아주 많이 먹었습니다.
    보통 R이 한글 인식이 안되는데 윈도우 계정을 한글로 하는 경우가 대부분인데 그것 말고도 여러 문제가 있습니다.

    쓰기 권한이 없다

    다음과 같은 오류가 날 수 있습니다.

    해당 경로가 쓰기 형식이 아니므로 library폴더에 쓰기권한을 주라는 얘기입니다. 즉, 쓰기 권한의 문제입니다.


    실제 폴더 속성에 가보면 쓰기허용이 체크되어 있지 않습니다.


    하지만 관리자권한은 쓰기 권한이 되어 있습니다. 그렇다면 Rstutio를 관리자 권한으로 실행하면 된다는 얘기니 관리자 권한으로 일단 실행을 합니다.

    Rstudio 바로가기에서 다음과 같이 관리자 권한으로 설정해놓으세요!

    만약 윈도우에 클라우드 활성화인 경우 관리자 권한을 해도 설치가 되지 않습니다. 특히, 원드라이브 활성화인 경우라면 libpath가 원드라이브로 되어있을 것입니다. R은 클라우드 폴더를 잘 인식하지 못하므로 이도 해결해주어야 합니다.

    한글이 문제일 때

    계정 자체가 한글인 경우

    계정이 한글이어서 문제인 경우, 어쩔 수 없습니다. 윈도우 계정을 영어로 바꿔줍니다. 앞으로 R을 계속 쓸 사람이라면 계정이 한글로 되어있으면 뭐 할때마다 막힐테니 필히 바꿔주시기 바랍니다.

    원드라이브 문서가 한글로 된 경우

    R은 한글 인식이 잘 안됩니다.
    ??는 아마도 문서일 겁니다. 문서를 영어로 바꿉니다.
    탐색기 - 문서 - 오른쪽 마우스 클릭 - 속성 - 위치에 들어가면 아래와 같이 폴더이름이 지정된 걸 볼 수 있습니다.

    문서를 documents로 바꿉니다.

    이렇게 해결된다면 그렇게 쓰시면 됩니다.

    애초에 설치하기 전에 라이브러리 폴더를 지정하고 시작한다

    보통 R에다 라이브러리를 설치할 겁니다. .libPath()를 이용해 현재 설정된 라이브러리 폴더를 확인합니다.

    .libPath()

    내가 쓰고 있는 R버전의 library 폴더로 잘 되어있다면 문제가 없습니다.
    그런데 그게 아니라면 libpath("라이브러리경로")를 넣어서 등록합니다.
    그 후 install.packages를 합니다.

     

    그래도 인식이 안되는 경우가 있습니다.
    그렇다면 내가 직접 경로를 지정해줍니다.
    예를 들어, library_path="C:\Program Files\R\R-4.1.2\library"
    를 한다고 하면 해당 경로를 지정한 후 install.library를 합니다. 아래와 같이 합니다.

    **library_path="C:\\Program Files\\R\\R-4.1.3\\library"**
    install.packages("pROC", lib = library_path, dependencies = TRUE)

    이러면 일단 설치파일 다운은 받아집니다. 이렇게 했을 때 설치가 되는 분들은 이렇게 끝내면 됩니다.

    백신이 원인일 수 있다.

    설치파일은 다운은 받았는데 아래와 같은 오류와 함께 설치를 못하는 경우가 발생합니다.

    The downloaded source packages are in
        ‘C:\Users\seong\AppData\Local\Temp\RtmpSgpYSd\downloaded_packages’
    'library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, 에서:
      ‘pROC’이라고 불리는 패키지가 없습니다'

    설치파일을 다 받았는데 갑자기 없다고 합니다.
    이건 백신프로그램이 원인일 수 있습니다. 백신 프로그램은 보안의 문제로 임시폴더에서 다른 곳으로 못 옮기게 해놓습니다. 잠시 백신을 꺼두고 실행합니다.

     

    백신 프로그램을 끌 수 없다면 다른 폴더를 생성해 다운받은 설치파일을 옮겨놓습니다. 위 오류에 나온 경로로 가면 다음과 같이 설치파일들이 있을 것입니다.

    이걸 다른 폴더에 옮겨놓습니다. 저는 r_temp라는 폴더를 따로 만들었습니다.

    list.files 패턴을 이용해 한번에 설치를 시작한다.

    setwd("C:\\r_temp")
    
    install.packages(list.files(pattern="*.tar.gz"),repos=NULL,type="source")
    

    windows에서는 type="win.binary"로 하라고 하는데가 있는데 source로 해야만 진행이 된다.

    rtools가 오류일 수 있다

    H:/rtools40/mingw32/lib/gcc/i686-w64-mingw32/8.3.0/include/stddef.h:1:15: fatal error: stddef.h: No such file or directory

    rtools가 손상되어서 안될 수 있습니다. 위처럼 나올 수 있습니다.이건 어쩔 수 없습니다. rtools를 다시 설치합니다.

    결론

    결국 한글 계정과 백신 프로그램이 문제인데 해결하려고 노력하다보니 그냥 설치 파일을 다운을 다른 폴더에 받고 한꺼번에 설치하면 되지 않을까 라는 생각이 들었습니다. 설치폴더 지정은 할 수 있으니까요.

    다음과 같이 설치파일을 다른 폴더에 받아놓고 설치 코드를 따로 넣으면 어떨까 싶습니다.

    #설치파일 다운받기
    download_dir ="저장경로"
    pkgs_list = c("패키지명1","패키지명2",....,"패키지명n")
    packages = getDependencies(pkgs_list)
    download.packages(pkgs = packages,destdir=download_dir, type="source")
    
    #다운받은 설치파일로 설치하기
    setwd(download_dir)
    install.packages(list.files(pattern="*.tar.gz"),repos=NULL,type="source")
    
    ##또는 R 경로가 문제라면 지정을 해서 설치
    library_path = "R 라이브러리 경로"
    setwd(download_dir)
    install.packages(list.files(pattern="*.tar.gz"),lib = library_path,repos=NULL,type="source")
    

    이러면 귀찮게 백신을 끌 일도 없이 마무리하기가 편해집니다.

    마치며

    저는 패키지 설치 오류를 이렇게 해결을 했습니다. 도움이 되시길 바랍니다. 하지만 예상치 못한 일들은 계속 일어날거라고 생각합니다.다른 오류가 나고 있다면 Rstudio 포럼에서 찾아보시기 바랍니다. 영어글이 대부분이어서 부담스럽지만 한국보다는 많은 정보가 있으니 해결점을 찾을 수 있을지도 모릅니다.
    https://forum.posit.co/c/rstudio-ide/9?version=2024.04.2%2B764&mode=desktop

     

    RStudio IDE

    RStudio IDE, both desktop and server versions.

    forum.posit.co

     

    함께보면 좋은글

    R을 활용한 독립표본 t검정하기

    R 소개 및 R studio 설치

    분투에서 R, R studio 설치

    댓글

    Designed by JB FACTORY

    ....