Programing

R 패키지 및 종속성의 오프라인 설치

lottogame 2020. 12. 26. 09:28
반응형

R 패키지 및 종속성의 오프라인 설치


인터넷에 연결되지 않은 (Linux) 시스템에 여러 패키지를 설치해야한다고 가정 해 보겠습니다. 내가 cran 사본을 다운로드하여 오프라인 위치로 가져 오는 DVD에 구웠다 고 가정 해 보겠습니다.

wget ftp://cran.r-project.org/pub/R/src/contrib/*.tar.gz

모든 소스 패키지 및 해당 종속성에 대한 개요가 포함 된 PACKAGES 파일을 추가 할 수도 있습니다.

library(tools)
write_PACKAGES()

이 오프라인을 사용하여 종속성을 해결하고 로컬 파일에서도 설치하는 방식으로 소스 패키지를 설치하려면 어떻게해야합니까? 예를 들어, 누군가가 상당히 깊은 종속성 구조를 가진 ggplot2 패키지를 설치하려고합니다. ggplot2의 소스 패키지와 모든 종속성을 현재 작업 디렉토리에서 소스 패키지로 사용할 수 있다고 가정합니다. 만약 내가한다면:

install.packages("ggplot2_0.9.1.tar.gz", repos=NULL)

종속성이 전혀 해결되지 않았기 때문에 오류가 발생합니다. 또는 :

install.packages(list.files(pattern="*.tar.gz"), repos=NULL)

그러나 이것은 또한 종속성 구조를 무시하고 사전 순으로 패키지를 설치하려고 시도하므로 실패합니다.

나는에보고 available.packages하고 contrib.url있지만, 난 그냥 그것의 종속성을 포함하여 로컬 파일에서 소스 패키지를 설치하는 예를 찾을 수 없습니다.


Joshua Ulrich가 질문에 대한 의견에서 정답을 제공했습니다.

열쇠는에 두 인수를 접두어로한다 repos또는 contriburl함께 file://. 따라서 Unixy 시스템에서는 다음을 수행 할 수 있습니다.

install.packages("ggplot2", contriburl="file:///path/to/packages/")

여기에서는 필요한 모든 소스 패키지와 PACKAGES 색인 파일이 /path/to/packages. PACKAGES 파일이 없으면 먼저 다음을 사용하여 생성해야합니다.

library(tools)
write_PACKAGES("/path/to/packages/")

이 디렉토리에있는 모든 소스 패키지의 색인을 생성합니다. 이 예에서는 file:접두사 뒤에 3 개의 슬래시가 있습니다 . 세 번째 슬래시는 파일 시스템의 루트에 상대적인 경로를 나타냅니다.

reposcontriburl인수 의 차이점 은 일반적으로 소스 패키지가 공식 CRAN 저장소 미러에있는 위치이기 때문에 지정된 경로에 repos다른 항목 /src/contrib추가 한다는 입니다.


위의 답변을 참조하여 설치가 Windows에있는 경우 write_PACKAGES ()는 모든 zip 파일이있는 '/ path / to / packages /'디렉토리 아래에 PACKAGES 및 PACKAGES.gz의 두 파일을 생성합니다. install.packages () 함수가 고독한 PACKAGES 파일을 올바르게 읽을 수 있기 전에 PACKAGES.gz 파일을 삭제해야합니다. 그렇지 않으면 '압축 파일을 열 수 없습니다'오류가 나타납니다.


오프라인 설치 중에 동일한 문제가 발생했습니다. 어쨌든 명령 줄에서는 작동하지 않았습니다.

모든 종속성을 다운로드하고 추출한 후 (최소 버전 확인 유지) 라이브러리 폴더에 폴더를 붙여 넣었습니다. 이렇게하면 내 문제 만 해결되었습니다.

참조 URL : https://stackoverflow.com/questions/10807804/offline-install-of-r-package-and-dependencies

반응형