2017-02-09 8 views
1

extrafont 패키지에 의존하는 패키지가 있습니다. extrafont 및 해당 종속성 Rttf2pt1이 사용자 시스템에 없으면 내 패키지 설치가 실패합니다. 나는 extrafont을 내 패키지의 설명 파일에 "종속"으로 가지고 있습니다. extrafont 괜찮 설치와 같은devtools :: install_git가 Depends 또는 Imports의 패키지 종속성을 설치하지 못합니다.

** preparing package for lazy loading 
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : 
    there is no package called 'Rttf2pt1' 
Error : package 'extrafont' could not be loaded 
ERROR: lazy loading failed for package 'tntpr' 
* removing 'C:/Users/SFirke/Documents/R/win-library/3.3/tntpr' 

이 보이지만 Rttf2pt1가 없기 때문에 작동하지 않습니다 : 나는 URL에서 내 패키지를 설치 devtools::install_git()를 실행하면 출력으로 종료됩니다. 내 설명 파일의 종속 목록에 Rttf2pt1을 추가하면 extrafontRttf2pt1 및 패키지가 모두 설치됩니다.

Rttf2pt1을 내 종속 목록에 넣어야하는 이유는 무엇입니까? 그것은 extrafont 패키지에서 설명 파일에서 "수입"목록에 현재의 :

Depends: 
    R (>= 2.15) 
Imports: 
    extrafontdb, 
    grDevices, 
    utils, 
    Rttf2pt1 

추가 정보를 원하시면

내가 devtools::install_git("https://myurl.com/tntpr.git", dependencies = TRUE)를 실행하면, 나는 다음과 같은 출력을 얻을. 그것은 GitHub의에서 dplyr 설치 후 extrafonts 후 내 패키지를로드 실패

Installing tntpr 
Downloading GitHub repo hadley/[email protected] 
from URL https://api.github.com/repos/hadley/dplyr/zipball/master 
Installing dplyr 
"C:/PROGRA~1/R/R-33~1.2/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL \ 
    "C:/Users/SFirke/AppData/Local/Temp/RtmpMlRSSR/devtools3dfc4e39620/hadley-dplyr-5902277" --library="C:/Users/SFirke/Documents/R/win-library/3.3" --install-tests 

* installing *source* package 'dplyr' ... 
** libs 

*** arch - i386 
C:/RBuildTools/3.4/mingw_32/bin/g++ -I"C:/PROGRA~1/R/R-33~1.2/include" -DNDEBUG -I../inst/include -DCOMPILING_DPLYR -I"C:/Users/SFirke/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/SFirke/Documents/R/win-library/3.3/BH/include" -I"C:/Users/SFirke/Documents/R/win-library/3.3/bindrcpp/include" -I"C:/Users/SFirke/Documents/R/win-library/3.3/plogr/include" -I"d:/Compiler/gcc-4.9.3/local330/include"  -O2 -Wall -mtune=core2 -c RcppExports.cpp -o RcppExports.o 
<--- lots more lines like this ^^^^^ ---> 
** R 
** data 
*** moving datasets to lazyload DB 
** inst 
** tests 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** installing vignettes 
** testing if installed package can be loaded 
*** arch - i386 
*** arch - x64 
* DONE (dplyr) 
Installing 1 package: extrafont 
Installing package into ‘C:/Users/SFirke/Documents/R/win-library/3.3’ 
(as ‘lib’ is unspecified) 
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.3/extrafont_0.17.zip' 
Content type 'application/zip' length 34323 bytes (33 KB) 
downloaded 33 KB 

package ‘extrafont’ successfully unpacked and MD5 sums checked 

The downloaded binary packages are in 
    C:\Users\SFirke\AppData\Local\Temp\RtmpMlRSSR\downloaded_packages 
"C:/PROGRA~1/R/R-33~1.2/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL "C:/Users/SFirke/AppData/Local/Temp/RtmpMlRSSR/file3dfc4a973a21" \ 
    --library="C:/Users/SFirke/Documents/R/win-library/3.3" --install-tests 

* installing *source* package 'tntpr' ... 
** R 
** data 
*** moving datasets to lazyload DB 
** inst 
** tests 
** preparing package for lazy loading 
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : 
    there is no package called 'Rttf2pt1' 
Error : package 'extrafont' could not be loaded 
ERROR: lazy loading failed for package 'tntpr' 
* removing 'C:/Users/SFirke/Documents/R/win-library/3.3/tntpr' 
Error: Command failed (1) 
+0

'devtools :: install_git()'에서'dependenies = TRUE'를 사용하면 어떻게 될까요? – ricoderks

+0

그런 다음 GitHub에서 최신 dplyr을 설치하지만 동일한 방법으로 실패합니다. extrafont를 설치 한 다음 'loadNamespace'에 오류가 있습니다 (j <- i [[1L]], c (lib.loc, .libPaths()), versionCheck = vI [[j]]) : 'Rttf2pt1'이라는 패키지가 없습니다. –

+0

'extrafont'가 올바르게 설치 되었습니까? 로드 할 수없는 오류가 있습니까? – ricoderks

답변

2

문제 : 윈도우와 관련된 문제가 있습니다모두 DevTools로 1.12.0 (현재 크랑 버전) devtools 1.12.0.9000의 현재 개발 버전은 중첩 된/재귀 적 종속성에 문제가 있습니다 (즉, 패키지 A는 패키지 C에 의존하는 패키지 B에 의존하고 devtools 기능 install_*(A)은 C를 설치하지 않습니다).

이 부분은 comment re: the development version이며 CRAN 버전에도 문제가 있음을 알리는 스레드 상단 부분과 this package's workaround of manually specifying sub-dependencies을 설치하십시오.

솔루션 : 나는 설치 될이 필요없는 종속성이 경우에도 위의 내 install_git() 전화 작동 (2016 4월 발표) DevTools로 1.11.1 이전 버전을 설치했습니다.

install.packages("devtools") # from CRAN 
devtools::install_version("devtools", version = "1.11.1", repos = "http://cran.us.r-project.org") # get the old version 

그런 다음 R을 다시 시작하고 devtools를 의도 한대로 사용하십시오.

+0

참고 CRAN (1.12.0)에서 devtools의 최신 버전을 설치하여 다른 패키지를 설치하면 도움이 될 수 있습니다.이 되돌리기를 취소하십시오. 따라서 1.11.1로 되 돌리는 것이 필요합니다. –