簡體   English   中英

Ubuntu 12.04 R install.packages()不起作用。 沒有警告,沒有安裝

[英]Ubuntu 12.04 R install.packages() does not work. No warning, no install

我正在運行一個ubuntu 12.04實例,並加載了R3.0.2,但無法獲得install.packages()來安裝軟件包。 它下載文件,但似乎沒有安裝它們。 我在這里錯過了什么嗎? 在運行ubuntu R實例之前,我從未遇到過這個問題。 順便說一句,我已嘗試以root用戶命令行sudo R實例化運行該進程,但仍然沒有警告,沒有安裝。 順便說一下,這個問題在我嘗試安裝的所有軟件包中都是一致的。

這是一個例子:

> install.packages("dataview")
Installing package into ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
also installing the dependency ‘xtermStyle’

trying URL 'http://cran.rstudio.com/src/contrib/xtermStyle_2.2-4.tar.gz'
Content type 'application/x-gzip' length 15265 bytes (14 Kb)
opened URL
==================================================
downloaded 14 Kb

trying URL 'http://cran.rstudio.com/src/contrib/dataview_1.4-8.tar.gz'
Content type 'application/x-gzip' length 10696 bytes (10 Kb)
opened URL
==================================================
downloaded 10 Kb


The downloaded source packages are in
    ‘/tmp/Rtmp6FevA0/downloaded_packages’
> library(dataview)
Error in library(dataview) : there is no package called ‘dataview’ 

為了它的價值,我使用以下shell命令安裝了R.

#remove old versions
sudo apt-get remove r-base-core
#Adding deb to sources.list
sudo nano /etc/apt/sources.list    
deb http://cran.rstudio.com/bin/linux/ubuntu precise/

# Add key to sign CRAN packages
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
#Add specific PPA to the system
sudo add-apt-repository ppa:marutter/rdev
sudo apt-get update
sudo apt-get upgrade
#installing
sudo apt-get install r-base
sudo apt-get install r-base-dev

預先感謝您的任何幫助。

最后(!!!)得到了這個想法。 安裝Apache2時,mongodb和R的install.packages()命令之間存在沖突(通過指示燈,我還沒有確認其他安裝)。 為了解決剛剛運行

sudo service mongodb stop

在shell上,然后進入R並安裝包。 安裝所需的軟件包后,可以重新啟動mongo服務器。 希望這有助於某人。 重現'錯誤'(我知道,我知道 - 實際上並不是錯誤)使用以下配置在EC2上創建一個框(盡管我認為問題不是EC2獨有的):

#install mongodb:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/10gen.list
sudo apt-get update
sudo apt-get install mongodb-10gen

#install lamp server:
sudo tasksel #get lamp and openssh 

#install R
sudo nano /etc/apt/sources.list   
deb http://cran.rstudio.com/bin/linux/ubuntu precise/
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
sudo apt-get update
sudo apt-get install r-base
sudo R

里面R:

install.packages(“dataview”)#或任何包

軟件包將下載,但不會像上面的原始帖子中提到的那樣安裝。

要解決此問題,只需停止shell上的mongo服務器即可

sudo service mongodb stop

回到R並安裝你的軟件包,然后返回shell並重新啟動服務器。 任何導致沖突的事件的照明(或者通常調試這種問題,而不是在整個過程中逐步重新執行命令)將不勝感激。 請注意,如果僅在沒有安裝Apache的情況下運行mongodb服務器,install.packages()命令才能正常工作,但停止Apache服務器無法解決沖突。

作為參考,這是一個Ubuntu 12.04 64位實例,包含R 3.0.2,Mongodb-10gen和Apache2。

當我在Ubuntu 12.04上安裝R Server時,我忘了設置交換: https//www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04

當我根據上面的教程設置交換時,它允許我安裝R包。 這可能是您遇到的問題。

我可能從我過去的經驗中得到的建議很少,希望有所幫助:

我會把R作為超級用戶sudo su 然后會嘗試安裝包。 還要確保軟件包安裝在默認位置,從R嘗試加載軟件包,我相信/usr/local/lib/R/site-library

嘗試一下,看看它是否有效。 如果沒有,那么我還會嘗試另一種解決方法,通過將我在/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0安裝的軟件包復制到/usr/local/lib/R/site-library來欺騙R root,看看是否有幫助。

祝好運

這是我在下面的回答的注釋,但是太長而不適合注釋。 這個問題比我想象的要復雜一些。 看來如果加載了燈,你需要停止mysql以便在R中運行任何系統命令(因此install.packages()不會解包,盡管不清楚為什么下載工作 - 文件在開源的歡樂下)。 一個相關的問題在這里 也就是說,你可以通過安裝R +燈來復制問題(我也在運行可能會發揮作用的RStudio Server,但我不是這樣做的)。 如果mysql服務正在運行,則在R啟動時彈出以下錯誤

Error in system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE) : 
cannot popen '/usr/bin/which 'pdflatex' 2>/dev/null', probable reason 'Cannot allocate memory'

(順便說一下,這不是內存不足的問題,因為服務器上有足夠的內存)。 我的建議是你需要運行一個燈服務器(和/或apache2上的其他服務)是從命令行安裝(不是tasksel,見下文),這樣(當然要確保采取安全預防措施(!))

sudo apt-get install apache2
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

接着

sudo service mysql stop

如果你需要在R中運行系統命令。一旦安裝了一個tasksel燈包並且添加了一個用戶,無論我停止了哪些服務,我實際上都無法再將r會話安裝到install.packages()。 同樣,如果您運行mongo或其他服務器,則還需要停止它們。

希望這能為人們帶來一些悲傷。 再說一遍,如果有人可以闡明這里的潛在問題是什么我會非常感激 - 我真的希望能夠在執行復雜的R命令時運行mysql服務。

再次使用R 3.0.2,apache2和ubuntu 12.04。 我也在ubuntu 13.10中復制了這個問題,看看是否有幫助(它沒有)。

好的,所以我遇到了同樣的問題......確保為VM分配了足夠的內存。 Vagrant的默認VM內存為512m ...將其增加到2048m並且所有內容都應該正常運行...

我在我的vagrant文​​件中使用它來增加內存:

  config.vm.provider "virtualbox" do |vb|
    # Use VBoxManage to customize the VM. For example to change memory:
    vb.customize ["modifyvm", :id, "--memory", "2048"]
  end

我在CentOS上遇到了這個問題,最終對我有用的是:

創建一些目錄,讓我們說/data/Rpackages ,然后讓R通過運行將tar.gz文件下載到它

install.packages("RMySQL", destdir="/data/Rpackages/")

然后手動安裝脫機包(請注意,如果上一個命令下載了其他依賴包,您還必須按順序安裝它們):

install.packages(repos=NULL, pkgs="/data/Rpackages/DBI_0.2-7.tar.gz")
install.packages(repos=NULL, pkgs="/data/Rpackages/RMySQL_0.9-3.tar.gz")

在AWS中的Ubuntu Server 14.04 LTS上存在相同的問題... t1.micro實例具有600MB可用內存....所以在上面添加了額外的交換空間並且staretd工作正常。

在這里描述了在EC2實例上添加交換空間的解決方案,即: 如何將交換添加到EC2實例?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM