【发布时间】:2015-03-13 22:48:33
【问题描述】:
我更新了 R,但当我想运行旧脚本时遇到问题。具体来说,我使用的其中一个软件包已从 CRAN 中删除,当我尝试加载已安装的软件包时收到以下错误消息(从软件包最新版本的二进制文件安装没有任何问题。如您所见,有问题的包是ACER包):
Failed with error: ‘package ‘acer’ was built before R 3.0.0: please re-install it’
是否可以重新编译源文件以获得在 R > 3.0.0 上工作的二进制文件?该软件包在以前的版本 R 3.0.1 上运行良好,但在 R 3.1.1 上运行良好。有什么办法可以在 R 3.1.1 上正确加载这个包(使用源文件或为 R 3.0.1 编译的文件?
我已经尝试从源代码安装,但它不起作用。我收到此错误消息,这对我来说没有太大意义。有没有简单的方法解决这个问题?
> install.packages(pkgs="acer_0.1.2.tar.gz", type="source", repos=NULL)
Installing package into ‘C:/Users/user/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
* installing *source* package 'acer' ...
** package 'acer' successfully unpacked and MD5 sums checked
** libs
*** arch - i386
Warning: running command 'make -f "Makevars.win" -f "C:/PROGRA~1/R/R-31~1.1/etc/i386/Makeconf" -f "C:/PROGRA~1/R/R-31~1.1/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="acer.dll" OBJECTS="estimate_acer.o peaks.o"' had status 127
ERROR: compilation failed for package 'acer'
* removing 'C:/Users/user/Documents/R/win-library/3.1/acer'
* restoring previous 'C:/Users/user/Documents/R/win-library/3.1/acer'
Warning messages:
1: running command '"C:/PROGRA~1/R/R-31~1.1/bin/x64/R" CMD INSTALL -l "C:\Users\user\Documents\R\win-library\3.1" "acer_0.1.2.tar.gz"' had status 1
2: In install.packages(pkgs = "acer_0.1.2.tar.gz", type = "source", :
installation of package ‘acer_0.1.2.tar.gz’ had non-zero exit status
我也尝试从命令行安装它,但得到了类似的错误。有人可以帮忙吗?
【问题讨论】:
-
从the CRAN archive获取软件包并从源代码安装。
-
从源代码安装包。由于problems with its vignette,它似乎已从 CRAN 中删除。所以,希望没有其他更严重的问题。
-
也可以从 url 获取源 pkg,例如
install.packages("http://cran.r-project.org/src/contrib/Archive/acer/acer_0.1.2.tar.gz", repos = NULL, type = "source") -
我放弃在较新版本的 R 上安装它,因此我在另一台 (Windows) 机器上安装了以前的版本,即 R 的 3.0.1。尽管如此,我在尝试安装此软件包时仍遇到一些错误。现在我得到退出状态 1。任何人都可以帮助我吗? (我在使用另一个软件包时遇到了同样的错误 - 两者都已成功安装在我的旧笔记本电脑上的相同版本的 R 上)。这是我得到的错误:
-
* 安装 source 包 'acer' ... ** 包 'acer' 成功解压并检查 MD5 和 ** 库错误:包 'acer' 编译失败 *删除 'C:/Users/erva/Documents/R/R-3.0.1/library/acer' 警告消息:1:运行命令 '"C:/Users/erva/Documents/R/R-3.0.1/bin /x64/R" CMD INSTALL -l "C:\Users\erva\Documents\R\R-3.0.1\library" "acer_0.1.2.tar.gz"' 有状态 1 2: 在 install.packages(" acer_0.1.2.tar.gz", repos = NULL, type = "source") : 安装包 'acer_0.1.2.tar.gz' 的退出状态非零