我在R中安装"eurostats"软件包时出现问题.在解决问题之后,我推断问题在于"readr"软件包.尝试安装它,会发生这种情况:
* installing *source* package ‘readr’ ...
** libs
g++ -I/usr/share/R/include -DNDEBUG -I"/home/shiny/R/x86_64-pc-linux-gnu-library/3.3/Rcpp/include" -I"/home/shiny/R/x86_64-pc-linux-gnu-library/3.3/BH/include" -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c Collector.cpp -o Collector.o
Run Code Online (Sandbox Code Playgroud)
之后终端只是冻结,好像它是活跃的但没有任何反应.在此之前,我有点处理区域设置(如果它有帮助就提到它).我能够安装其他软件包.
我的R和Linux详细信息如下:
sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.1 LTS
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] httr_1.2.1 R6_2.2.0 tools_3.3.2 withr_1.0.2
[5] curl_2.2 memoise_1.0.0 git2r_0.16.0 digest_0.6.10
[9] devtools_1.12.0
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?
Dir*_*tel 13
您的计算机上没有足够的RAM.所以你有两个选择:
继续你正在做的事情,并尝试从源代码编译,这将需要更多的内存,并可能失败
安装一个预先构建的二进制文件(!!),这样你就不必在第一时间编译
最简单的方法就是这样(我在Ubuntu 16.04的Docker实例中只显示命令而不显示输出,而我在Docker中执行此操作,其中帐户是root;否则sudo在前面添加)
apt-get update # refresh
apt-get install software-properties-common
add-apt-repository -y "ppa:marutter/rrutter"
add-apt-repository -y "ppa:marutter/c2d4u"
apt-get update # now with new repos
apt-get install r-cran-readr
Run Code Online (Sandbox Code Playgroud)
和瞧你有readr包.现在继续使用未打包为二进制文件的eurostat,但由于其C++代码,可能不需要更大的资源.
我在树莓派上遇到了同样的问题。解决方法是增加交换的大小(在我的情况下为1Gb)。步骤如下:
sudo swapon -s #get size and filename
sudo swapoff -a #stop the actual swaps
sudo fallocate -l 1g swap2 #allocate 1Gb for the swapfile
sudo mkswap swap2
sudo swapon swap2
Run Code Online (Sandbox Code Playgroud)
启动R并安装您的软件包。
如果您需要返回之前的配置,请执行以下操作:
sudo swapoff -a
sudo rm swap2
sudo swapon your-previous-swap
Run Code Online (Sandbox Code Playgroud)