2017-09-27 38 views
0

由於它堅持使用較舊和不兼容的庫,因此在安裝脫字符(caret_6.0-77.tar.gz)時遇到困難; 「rlang」(0.1.1)。我在本地安裝了適當版本的rlang(0.1.2)。但它不會使用該版本。卡脫安裝由於在本地安裝正確的庫時使用了錯誤的庫導致的錯誤

錯誤loadNamespace(I,C(lib.loc,.libPaths()),versionCheck = VI [[I]): 命名空間 'rlang' 0.1.1已經加載,但> = 0.1。 2是必需的

有沒有辦法強制使用本地軟件包而不是全局庫中的軟件包?

我正在使用公司安裝,因此我沒有對全局庫的寫入權限。這就是我使用本地圖書館的原因。

install.packages(file.choose(), repos = NULL, type = "source") 
Installing package into ‘/xxxxx/R/x86_64-pc-linux-gnu-library/3.2’ 
(as ‘lib’ is unspecified) 
* installing *source* package ‘caret’ ... 
** package ‘caret’ successfully unpacked and MD5 sums checked 
** libs 
gcc -std=gnu99 -I/tool/pandora64/.package/R-3.2.3/lib64/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c caret.c -o caret.o 
gcc -std=gnu99 -shared -L/tool/pandora64/.package/R-3.2.3/lib64/R/lib -L/usr/local/lib64 -o caret.so caret.o -L/tool/pandora64/.package/R-3.2.3/lib64/R/lib -lR 
installing to xxxxx/R/x86_64-pc-linux-gnu-library/3.2/caret/libs 
** R 
** data 
** inst 
** preparing package for lazy loading 
Warning: replacing previous import by ‘plyr::ddply’ when loading ‘caret’ 
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
    namespace ‘rlang’ 0.1.1 is already loaded, but >= 0.1.2 is required 
ERROR: lazy loading failed for package ‘caret’ 
* removing ‘xxxxx/R/x86_64-pc-linux-gnu-library/3.2/caret’ 
Warning in install.packages : 
    installation of package ‘xxxx/R_Packages/R_Packages/Source/caret_6.0-77.tar.gz’ had non-zero exit status 
> 

回答

0

caret不需要rlang;它的一個依賴關係確實如此。

我建議

  1. 開始用乾淨的R對話
  2. 安裝的rlang所需的版本到本地庫路徑
  3. 檢查.libPaths(),以確保您的本地庫路徑是前規範一個(你不能修改)。 [這可能完全是問題]
  4. 加載caret