我正在使用带有 R (3.4.4)/RStudio (1.2.1335) 的 Ubuntu 18.04,并且在安装某些软件包时遇到了很大的困难。出于这个问题的目的,我将以 Tidyverse 为例。
使用 RStudio,我运行:
install.packages("tidyverse", dependencies = TRUE)
在看起来不错的开始(“尝试 X-package,下载 X-package...”)之后,安装就会受到大量错误消息的困扰。(请注意,无论我设置dependencies
为TRUE
还是,都会发生这种情况FALSE
。)
我已阅读错误消息的建议并按照说明进行操作,但没有任何变化。我已经花费了数小时在线研究方法来解决这个问题并尝试不同的方法(例如指定文件夹/目录来存储包,重新安装一些软件,删除其他软件,以及其他一些事情),但仍然没有任何变化。
我已经完全卸载并重新安装了 R/RStudio,但仍然发生同样的事情。
例如,当我运行上面的代码时,这就是事情开始出错的地方:
* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
Found pkg-config cflags and libs!
/home/mus/.R/Makevars:1: *** missing separator. Stop.
/home/mus/.R/Makevars:1: *** missing separator. Stop.
/home/mus/.R/Makevars:1: *** missing separator. Stop.
Using PKG_CFLAGS=-I/usr/include/x86_64-linux-gnu
Using PKG_LIBS=-lcurl
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
* deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
* rpm: libcurl-devel (Fedora, CentOS, RHEL)
* csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘curl’
* removing ‘/home/mus/R/x86_64-pc-linux-gnu-library/3.4/curl’
Warning in install.packages :
installation of package ‘curl’ had non-zero exit status
* installing *source* package ‘haven’ ...
** package ‘haven’ successfully unpacked and MD5 sums checked
** libs
/home/mus/.R/Makevars:1: *** missing separator. Stop.
ERROR: compilation failed for package ‘haven’
* removing ‘/home/mus/R/x86_64-pc-linux-gnu-library/3.4/haven’
这条消息的长度要大得多——我只是为了这个问题而截断了它。
我的问题是:我会在这里遗漏什么?我不认为它应该那么难解决,但事实证明它是我遇到过的最复杂的问题之一,我想不出它可能是什么。
有没有类似经历的小伙伴可以分享一下技巧和窍门?
如何避免这些错误消息?(请注意,当我尝试从终端运行相同的命令时也会发生这种情况。)
此外,如果它有帮助:
> .libPaths()
[1] "/home/mus/R/x86_64-pc-linux-gnu-library/3.4" "/usr/local/lib/R/site-library"
[3] "/usr/lib/R/site-library" "/usr/lib/R/library"
可用时使用预编译的包
与一般包一样,对于 R 包也是如此。使用Ubuntu的应用程序包下载安装系统获取R包。
要查看 R-CRAN 存储库中是否有特定的 R 包,请按Ctrl++打开终端并输入Alt:T
您将看到与以下相关的软件包列表
tidyverse
:您要查找的包在列表中排在第二位。所有 R 包都有前缀
r-cran-
.要安装 R 包,请输入:
系统将要求您输入密码。当您输入密码时,光标不会移动,您也不会看到 *******。这在 Ubuntu 中很正常。
以这种方式安装 R 包有两个好处:
有关详细信息,请参阅R 和 RStudio 安装和包错误。
错误:
您看到的错误是因为
curl
未安装在您的 Ubuntu 中。Ubuntu 使用wget
,而其他发行版用于curl
下载系统包。当您尝试从 R(或 RStudio)中安装包时,它正在尝试安装 Ubuntu 系统包curl
。这不起作用,因为 RStudio 没有sudo
权限。要解决此问题,请
curl
通过以下方式在 Ubuntu 系统级别安装:这将安装
curl
在 Ubuntu 中并允许 R 使用curl
.希望这可以帮助