22

在一台运行 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 包加载位置不同的分区上,这会导致错误吗?

我很茫然,任何指针都非常感谢。这是一个很难复制的;如果您需要任何其他版本/系统参数来理解问题,请不要犹豫。

4

6 回答 6

61

我在查看GitHub ggplot2 issue #796时找到了这个解决方案

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

它将更新所有需要重新安装的软件包。

于 2013-11-18T07:19:01.083 回答
5

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’
于 2013-10-04T17:52:07.320 回答
2

我根据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,甚至是闪亮的。现在它起作用了!

另请参阅 R 版本 3.0.2“Frisbee Sailing”上的 Shiny 包安装

于 2013-11-04T17:24:43.990 回答
1

我在精确上使用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

于 2014-03-01T07:49:17.253 回答
0

这是我使用的解决方法:

我在具有互联网功能的计算机上安装了最新版本的 R。然后我加载了我需要的包(包->安装包->选择镜像->选择包...

R 完成安装后,它会显示临时 .zip 包所在位置的消息。我导航到这个位置,抓起临时包,并将其刻录到 cd 上。

通过这种方式,我可以将更新的软件包构建到没有 Internet 访问权限的计算机上。我仍然很想知道是否有一种简单的方法可以重建在早期 R 版本上下载的包以使其与最新版本兼容(无需互联网连接)。

感谢您为我指明正确的方向@JoshuaUlrich

于 2013-06-07T16:19:41.073 回答
0

我尝试在 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'</p>

做以下帮助我:

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

| 欢迎漩涡!请登录。如果您以前来过这里,请使用相同 | 像你当时那样命名。如果您是新人,请称自己为独特的人。我该怎么称呼你?

我希望同样可以帮助解决您的安装问题。

于 2014-05-06T08:05:45.830 回答