在新版本的R中使用未更新的旧软件包

4

我更新了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

我也尝试从命令行安装,但遇到了类似的错误。有人能帮忙吗?


4
CRAN存档 获取软件包,并从源代码进行安装。 - Joshua Ulrich
从源代码安装该软件包。由于vignette的问题,它似乎已从CRAN中删除。因此,希望没有其他更严重的问题。 - Roland
2
可以从URL安装源包,例如install.packages("http://cran.r-project.org/src/contrib/Archive/acer/acer_0.1.2.tar.gz", repos = NULL, type = "source") - sckott
我放弃在新版本的R上安装它,而是在另一台(Windows)机器上安装了先前的版本3.0.1。然而,我尝试安装此软件包时仍然遇到一些错误。现在我得到退出状态1。有人可以帮帮我吗?(我使用另一个软件包时也会出现相同的错误-这两个软件包都已成功安装在我旧笔记本电脑上的同一版本的R上)。这是我得到的错误: - Erik
安装源代码包'acer'... ** 包'acer'成功解压并通过MD5校验 ** libs 错误:编译包'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’时出现非零退出状态
- Erik
1个回答

0
你是否已经安装并添加 Rcpp 到你的环境变量中?
我认为在 make 时出现错误代码 127 意味着该程序无法在 $PATH 中找到,而 acer 的唯一依赖似乎是 Rcpp。
希望这可以帮到你。 -A

谢谢您的建议。我安装了Rcpp,但不幸的是它没有帮助我解决问题。我仍然收到完全相同的错误信息。您有其他想法吗?我该如何安装ACER包? - Erik
所以根据stackoverflow上的这个问题,127表示makefiles中的某些命令未被理解或没有+x权限。也许需要检查三个makefiles "Makevars.win","C:/PROGRA1/R/R-311.1/etc/i386/Makeconf"和"C:/PROGRA1/R/R-311.1/share/make/winshlib.mk"是否有调用未安装的工具的行? - Arjun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接