簡體   English   中英

R中“錯誤:包'_____'是在3.0.0之前構建的:請重新安裝”的原因

[英]Causes of “Error: package '_____' was built before 3.0.0: please re-install it” in R

在一台運行 R 2.15.2 的計算機上,我從 .zip 文件安裝了軟件包(這些軟件包碰巧是ggplot2data.table ,但我不認為特定的軟件包是我的問題。)一切正常。 我將這些軟件包帶到沒有互聯網連接的計算機上並安裝它們。 另一台計算機正在運行 R 3.0.1。 這些軟件包似乎安裝沒有問題(使用 R 的“從本地 zip 文件安裝軟件包”選項)。 當我使用library()調用包時,出現以下錯誤:

Error: package '<insert name of newly installed package here>' was build before 3.0.0: please-re-install it

任何人都可以解釋引發此錯誤的潛在原因嗎? .zip 包是否必須位於特定目錄中才能正確安裝? 如果 R 安裝在加載 .zip 包的單獨分區上,這會導致錯誤嗎?

我不知所措,任何指針都非常感謝。 這是一個很難復制的; 如果您需要任何其他版本/系統參數來了解問題,請隨時提出。

我在查看GitHub ggplot2 問題 #796 時找到了這個解決方案

update.packages(checkBuilt = TRUE, ask = FALSE)

它將更新所有需要重新安裝的軟件包。

運行install.packages("codetools")可以解決 R 3.0.2 的這個問題,如果你有和我一樣的問題:

installing to /home/user/R/x86_64-pc-linux-gnu-library/3.0/Rcpp/libs
** R
** inst
** preparing package for lazy loading
Error : package ‘**codetools**’ was built before R 3.0.0: please re-install it
Error : unable to load R code in package ‘Rcpp’
ERROR: lazy loading failed for package ‘Rcpp’

我根據https://github.com/rstudio/shiny-server/wiki/Ubuntu-step-by-step-install-instructions安裝了閃亮的

並在步驟中得到相同的錯誤

sudo su - -c "R -e \"install.packages('shiny', repos='http://cran.rstudio.com/')\""

Warning messages:
1: In install.packages("shiny", repos = "http://cran.rstudio.com/") :
 installation of package ‘Rcpp’ had non-zero exit status
2: In install.packages("shiny", repos = "http://cran.rstudio.com/") :
 installation of package ‘httpuv’ had non-zero exit status
3: In install.packages("shiny", repos = "http://cran.rstudio.com/") :
 installation of package ‘shiny’ had non-zero exit status

我通過啟動 R 嘗試了 Richard Lee 的答案

R

並得到錯誤

Warning in install.packages("shiny") :
'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to use a personal library instead?  (y/n) n
Error in install.packages("shiny") : unable to install packages

顯然沒有寫權限,所以

sudo R

現在我又試了一次

install.packages("shiny")

並得到了一些錯誤

Error : package ‘codetools’ was built before R 3.0.0: please re-install it
Error : package ‘RJSONIO’ was built before R 3.0.0: please re-install it
Error : package ‘caTools’ was built before R 3.0.0: please re-install it
Error : package ‘bitops’ was built before R 3.0.0: please re-install it
Error : package ‘digest’ was built before R 3.0.0: please re-install it
Error : package ‘xtable’ was built before R 3.0.0: please re-install it

每次出現錯誤時,我都會重新安裝請求的包

install.packages("codetools")
install.packages("RJSONIO")
etc.

最終,我能夠安裝 Rccp、httpuv,甚至是 Shiny。 現在它起作用了!!

另請參閱R version 3.0.2 "Frisbee Sailing" 上的 Shiny 軟件包安裝

我正在使用rkward精確

我在使用rkward 時遇到了類似的錯誤。 具體這個:

'lib = "/usr/local/lib/R/site-library"' is not writable

我臨時更改了此目錄的權限,以便rkward可以從其控制台運行它:

 update.packages(checkBuilt = TRUE, ask = FALSE)

全部解決這個問題:

Error: package '' was build before 3.0.0: please-re-install it

這樣(嘆氣......)我可以精確地修復音頻的“默認”配置。 我不能在rkward 中使用play()等。

只需要phonon-backend-gtstreamer

這是我使用的解決方法:

我在一台可以上網的電腦上安裝了最新版本的 R。 然后我加載了我需要的包(包->安裝包->選擇鏡像->選擇包...

R 安裝完成后,它會顯示一條消息,說明臨時 .zip 包所在的位置。 我導航到這個位置,獲取臨時包,並將其刻錄到 CD。

通過這種方式,我可以在沒有互聯網訪問的情況下將較新的軟件包構建到計算機上。 我仍然很想知道是否有一種簡單的方法可以重建在早期 R 版本上下載的軟件包,使其與最新版本兼容(無需互聯網連接)。

感謝您為我指明正確的方向 @JoshuaUlrich

我嘗試在 ubuntu 12.04LTS 上的 R(v3.1.0) 上安裝 swirl:

sudo R
install.packages("swirl")

但是遇到了類似的錯誤:

錯誤:包“codetools”是在 R 3.0.0 之前構建的:請重新安裝 錯誤:無法在包“httr”中加載 R 代碼錯誤:包“httr”的延遲加載失敗 * 刪除“/usr/local/lib” /R/site-library/httr' 錯誤:依賴項 'testthat'、'httr' 不可用於包 'swirl' * 刪除 '/usr/local/lib/R/site-library/swirl'

做以下幫助我:

install.packages('codetools')
install.packages("swirl")
library("swirl")
swirl()

| 歡迎漩渦! 請登錄。如果您以前來過這里,請使用相同的 | 像你當時那樣命名。 如果您是新手,請稱自己為獨特的東西。 我該叫你什么?

我希望同樣可以幫助解決您的安裝問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM