当前位置: 首页 > 知识库问答 >
问题:

Ubuntu 12.04 Rinstall.packages()不工作。没有警告,没有安装

赵元白
2023-03-14

我正在运行一个ubuntu 12.04实例,加载了R3.0.2,但无法安装。packages()安装软件包。它下载文件,但似乎没有安装它们。我是不是遗漏了什么?在运行ubuntu R实例之前,我从未遇到过这样的问题。顺便说一句,我已经尝试从命令行使用sudoR实例化根进程,但仍然没有警告,也没有安装。顺便说一下,这个问题在我尝试安装的所有软件包中都是一致的。

下面是一个示例:

> 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

提前感谢您的任何帮助。

共有3个答案

全昊焜
2023-03-14

从我过去的经验中,我可能有一些建议,希望能有所帮助:

我会把R作为超级用户sudo su运行。然后会尝试安装软件包。还要确保将包安装在默认位置,R尝试从中加载我相信/usr/本地/lib/R/站点库的包。

尝试一下,看看它是否有效。如果不是这样,我还会尝试另一种方法来欺骗R,方法是将/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0安装的软件包复制到/usr/local/lib/R/site-libraryroot,看看是否有帮助。

祝你好运

通远
2023-03-14

当我在Ubuntu 12.04上安装R Server时,我忘记设置交换:https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04

当我根据上面的教程设置交换时,它允许我安装R包。这可能是你遇到的问题。

湛宏旷
2023-03-14

最后(!!!)想通了这一点。是安装Apache2时mongodb和R的install.packages()命令冲突(通过lamp,其他安装我没有确认)。要解决这个问题,只需运行

sudo service mongodb stop

,然后进入 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:

安装packages(“dataview”)#或其他包

软件包将下载,但不会像上面原始文章中提到的那样安装。

要解决,只需停止shell上的mongo服务器

sudo service mongodb stop

返回R并安装您的包,然后返回shell并重新启动服务器。任何关于导致冲突的原因的说明(或者通常调试此类问题,而不是在整个过程中逐步重新尝试命令)都将不胜感激。请注意,如果只有mongob服务器在未安装Apache的情况下运行,则install.packages()命令可以正常工作,但停止Apache服务器并不能解决冲突。

作为参考,这是一个Ubuntu 12.04 64位实例,具有R 3.0.2、Mongodb-10gen和Apache2。

 类似资料:
  • 问题内容: 使用PMD,如果要忽略特定的警告,则可以使该行被忽略。 FindBugs有类似的东西吗? 问题答案: FindBugs的初始方法涉及XML配置文件(也称为过滤器)。这确实不如PMD解决方案方便,但是FindBugs只能在字节码上工作,而不能在源代码上工作,因此注释显然不是一个选择。例: 但是,为解决此问题,FindBugs稍后引入了另一个基于注释的解决方案(请参阅参考资料),您可以在类

  • 理解Gradle profile报告时遇到了困难,这些报告的执行任务结果是“没有工作”。 Gradle文档只是声明,结果将反映为没有跳过但没有工作的任务。这是否意味着构建任务不起作用,只是调用和/或依赖Java插件中的其他子任务?

  • 我正在使用Mapstruct 1.3.0投影这个源对象; 进入本DTO: 在我的界面中,我没有为字段“noMappingDefined”定义任何映射 在构建项目时,将POM中的compilerArgs中的UnappedTargetPolicy设置为WARN不会导致任何通知,并且在Mapstruct生成的目标类中找不到没有映射的字段。 生成的类没有像预期的那样包括未映射的字段,但是我希望在构建项目时

  • 问题内容: 我正在尝试使用以下代码: 我需要检查是否返回false,但是当删除时,它不再起作用。为什么会这样,我如何使它起作用? 问题答案: 当您引入警报时它起作用的原因是,它停止了执行并为异步调用提供了足够的时间来完成。 您没有获得正确的值,因为在发布请求完成且回调已执行时,您的JavaScript已经完成执行。 您在这里有一些选择: 声明全局变量并执行同步调用,您可以使用发布的代码ABC进行此

  • 我真的很困惑为什么这不起作用,因为大多数关于信号量的示例都是多线程的,而不是多处理的,我有点困惑。我的代码不能工作,除非我把它放在sem_wait上面。 本质上是自己做信号量...这就像sem_wait只检查一次值,然后永远保持不变。我有两个生产者和一个消费者。以下是它的结构: 没有这个代码段,生产者2永远不会运行。在生产者2但不是1中使用该代码段,生产者1运行,然后运行2,然后停止。两人都需要这