R 패키지(Package) 설치 devtools wsl 버전


1. devtools 가 필요한 이유

    devtools는 R 배포자에게는  최고의 개발 환경이다.   이것은 배포자가 Cran 사이트나, Git hub에 Package 형태로 만들어서,  올려서 사용하는 것이기 때문에 문서를 작성 해서 소스를 오픈 하는 것이다.   즉 누구나 원하면 본인이 사용하기 편하게 소스 코드를 만들어서, 언제든지 오픈 할 수 있다.  그런데,  roxygen 를 사용해서 문서를 생성하는 방식은 한글 지원에 문제가 있다.   소스코드를 만들어 영문으로 퍼블리싱 해야 한다는 번거로움이 있다.   

2. devtoos 설치 준비 Ubuntu 종속성을 위한 위한 패키지 설치

  앞 서서 설명한 devtools에  WSL1은 R이 3.6까지만 지원되고,   WSL2는 WSL1보다는 조금 안정적인 느낌이 있다. 
 
   devtool하고  rjava 만 설치하면,  R에서 설치하기  어려운 패키지를 전부 설치 하는 것인데, 우선 devtool 부터 설치를 할 것이다.   devtool은 R에서 몇가지 없는 개발 툴 인데,   cran에서 다운로드가 안될때,  그리고,  개인 개발 패키지 즉,  cran 에 올리않고 사용하는 패키지가 있는데,  그것을 다운로드 받을 려면 devtool에서 다운 받아야 한다.   즉 devtool로 Package를 만들수 있고   배포 할 수 있다는 것이다.  

R에서 devtool을 설치 하려면 우분투 터미널에서 종속성을 설치 하여야 한다.  지난 18.04버전에서 한것을 20.04로 하려고 한다.   devtools 방법을 찾는데,  한참이나 헤메 었는데, 100% 완벽 하지는 않지만,  아래와 같이 하면, devtools 를 설치 하면 된다. 

$ sudo apt-get install -y libgit2-dev 
$ sudo apt-get install -y libcurl4-openssl-dev libssl-dev
$ sudo apt-get install -y zlib1g-dev libssh2-1-dev libpq-dev libxml2-dev
$ sudo apt-get install libhdf5-serial-dev
$ sudo apt-get install libxml2-dev
$ sudo apt-get update
$ sudo apt-get upgrade


3. Devtools R에서 패키지 설치 

우분투에서 아래와 같은 명령어를 실행 하여 root R을 접속 하고, 여전히 의존성과 library 폴더 lock이 걸리는 것이 있어 아래와 같이 설치 한다.

$ sudo -i R
 
> install.packages("devtools", dependencies=TRUE, INSTALL_opts = c('--no-lock'))

Devtool은 Rstudio에서 설치 할 것이 아니라,  R Base에 접속해서 설치해야 한다.  즉 root계정으로 설치 하고 다른 계정에서 전부 쓰는 Base 패키지로 보면 될 것 같다. 

여러개의 툴을 설치 하므로 시간이 많이 걸린다.   일부 설치 못하는 4개의  패키지가 있는데, 이건은  폰트 및 디자인, 그리고 웹사이트 제작과 관련된 패키지라, 분석이 목적인 본 블로그에서는 그냥 무시하고 지나간다.  
 

Warning messages:
1: In install.packages("devtools", dependencies = TRUE, INSTALL_opts = c("--no-lock")) :
  installation of package ‘systemfonts’ had non-zero exit status
2: In install.packages("devtools", dependencies = TRUE, INSTALL_opts = c("--no-lock")) :
  installation of package ‘textshaping’ had non-zero exit status
3: In install.packages("devtools", dependencies = TRUE, INSTALL_opts = c("--no-lock")) :
  installation of package ‘ragg’ had non-zero exit status
4: In install.packages("devtools", dependencies = TRUE, INSTALL_opts = c("--no-lock")) :
  installation of package ‘pkgdown’ had non-zero exit status

댓글 1개:

[주식 클로드 자동매매 프로젝트] 제2편. 데이터 인프라 구축 — 모델보다 데이터가 먼저다

 머신러닝 모델을 이야기하기 전에, 그 모델이 먹는 데이터가 어디서 어떻게 왔는지부터 정직하게 밝혀야 한다. 이 프로젝트에서 가장 많은 시간이 들어간 부분은 화려한 모델 튜닝이 아니라, "내가 정말 그 데이터를 갖고 있는가"를 확인하...