解决R语言中install_github中无法安装遇到的问题

 更新时间:2021年5月6日 13:52  点击:1852

首先,让我们来进入常规步骤

我安装的是recharts包,正常的写法呢,就是以下这个样子:

install.packages("devtools")
#devtools::install_github("madlogos/recharts")

第一个问题:

然而对于今天的我来说,那就太天真了,首先踏入的第一个坑:

无法打开URL'http://yihui.name/xran/src/contrib/PACKAGES' Warning in install.packages : 从zip文件中抽取1时出了错

类似于无法访问的错误,第一步的解决办法,就是改变包的镜像。

在Tools->Global Options->packages->change->china Beijing.

如下图所示:

在这里插入图片描述

这可能是R新版本的默认设置为外国版本,之前的版本上没有遇到过类似镜像的问题,解决完这里,如果是稍微简单点的问题就可以被解决了,然而我的路才刚刚开始。

第二个问题:

要在https://cran.rstudio.com/bin/windows/Rtools/网站中下载rtools错误大概就是这么写的,具体我已经无法还原了,相信这个报错大家都能看懂,下载未被冻结或锁定的rtools,注意安装时要选择自动添加路径,不然还得手动添加,容易出错。这一步下来,正常的包都可以安装了。

第三个问题

错误为:

failed to receive handshake ssl/tls connection failed github

第一种方法:

始终无法访问github,查过许多资料,有一部分说是IE出了问题,在选项中一次勾选SSL之类的,然而我一开始没有找到这个地方,不过好像这个方法蛮简单,大家如果遇到类似问题可以去百度尝试一下,

第二种方法:

很可能是因为你的网络被设置而代理,或者是你有下载翻墙软件串改了你的internet设置,具体操作如下:打开IE浏览器,选择工具->internet选项->连接->局域网设置->点击自动设置(若勾选,则点为不勾选。若不勾选,则点为勾选),下面的LAN设置不要勾选

第三种方法:

打开git bash,输入下列代码

$ git config --global http.sslBackend "openssl"
$ git config --global http.sslCAInfo c://program files//R//R-3.6.3//library//openssl//cacert.pem(此为R中cacert.pem的文件路径)

运行完之后退出,重新打开R,再执行安装命令

install.packages("devtools")
devtools::install_github("madlogos/recharts")

就OK了。

补充:R安装xml2 (安装devtools)

安装devtools

今天看到了一个R上的一个包,似乎是要用到devtools。发现我linux电脑上的R并没有装devtools这个包。想着直接安装一下,没想到却意外频发。

R:R-4.0.0

devtools需要很多依赖包,用R自带的

install.packages("devtools")

可以很好地解决这些问题,但是发现安装失败。仔细检查后发现是安装xml2的时候出现了意外。

xml2这个包没有装上,导致了最终devtools没有安装成功。

安装xml2时报错:

Error : unable to load shared object '/home/Litedg/Programs/R-4.0.0/lib64/R/library/00LOCK-xml2/00new/xml2/libs/xml2.so': libiconv.so.2: cannot open shared object file: No such file or directory

开始以为是没有装libxml2、libxml2-devel。用yum装过了一下,发现只是版本有些旧,但还是有的。

然后发现在报错的最前面:

--- Please select a CRAN mirror for use in this session ---

trying URL 'https://cloud.r-project.org/src/contrib/xml2_1.3.2.tar.gz'

Content type 'application/x-gzip' length 271876 bytes (265 KB)

==================================================

downloaded 265 KB

* installing *source* package 'xml2' ...

** package 'xml2' successfully unpacked and MD5 sums checked

** using staged installation

Found pkg-config cflags and libs!

Using PKG_CFLAGS=-I/home/Litedg/Programs/anaconda3/include/libxml2 -I/home/Litedg/Programs/anaconda3/include

Using PKG_LIBS=-L/home/Litedg/Programs/anaconda3/lib -lxml2 -L/home/Litedg/Programs/anaconda3/lib -lz -

L/home/Litedg/Programs/anaconda3/lib -llzma -lpthread -L/home/Litedg/Programs/anaconda3/lib -liconv -

L/home/Litedg/Programs/anaconda3/lib -licui18n -licuuc -licudata -lm -ldl

** libs

所以应该是由于调用了anaconda3下面的libxml2导致的原因。想在环境变量中将anaconda3给注释掉,但是会调到pymol下面,后来发现直接修改xml2安装包的configure就好了。

找到xml2的安装包。在报错的最后面会给出:

The downloaded source packages are in

'/tmp/RtmpUV7uZp/downloaded_packages'

Updating HTML index of packages in '.Library'

Making 'packages.html' ... done

Warning message:

In install.packages("xml2") :

installation of package 'xml2' had non-zero exit status

找到这个目录,解压:

cd /tmp/RtmpUV7uZp/downloaded_packages
tar -zxvf xml2_1.3.2.tar.gz

修改其中configure文件:

  xml2-config --version >/dev/null 2>&1
  if [ $? -eq 0 ]; then
    PKGCONFIG_CFLAGS=`xml2-config --cflags`
    PKGCONFIG_LIBS=`xml2-config --libs`
 
    # MacOS versions El Capitan and later ship a xml2-config which appends `xcrun
    # --show-sdk-path` to the xml2-config. So we remove it if it is present.
    # (https://stat.ethz.ch/pipermail/r-sig-mac/2016-September/012046.html)
    if [ "$OS_TYPE" = "Darwin" ] && [ "$OS_VERSION" -gt "13" ] && [ "$OS_VERSION" -lt "17" ]; then
      PKGCONFIG_CFLAGS=`echo $PKGCONFIG_CFLAGS | perl -pe "s{\Q\`xcrun -show-sdk-path\`\E}{}"`
      PKGCONFIG_LIBS=`echo $PKGCONFIG_LIBS | perl -pe "s{\Q\`xcrun -show-sdk-path\`\E}{}"`
    fi
 
    # Fix a missing libxml2 directory on the requested include directory
    # https://github.com/r-lib/xml2/issues/296
    if [ "${OS_TYPE}" = "Darwin" ] && echo "${PKGCONFIG_CFLAGS}" | grep -sq "/usr/include$"; then
      PKGCONFIG_CFLAGS="$PKGCONFIG_CFLAGS/libxml2"
    fi
 
  else
    pkg-config --version >/dev/null 2>&1
    if [ $? -eq 0 ]; then
      PKGCONFIG_CFLAGS=`pkg-config --cflags $PKG_CONFIG_NAME`
      PKGCONFIG_LIBS=`pkg-config --libs $PKG_CONFIG_NAME`
    fi
  fi

改成:

  if [ $(command -v pkg-config) ]; then
   PKGCONFIG_CFLAGS=$(pkg-config --cflags $PKG_CONFIG_NAME)
   PKGCONFIG_LIBS=$(pkg-config --libs $PKG_CONFIG_NAME)
 fi

即可。保存退出。

使用R CMD进行安装(在xml2目录下)

R CMD INSTALL ./

即可顺利安装xml2包。

其余的包使用

install.packages("devtools")

继续安装即可~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。如有错误或未考虑完全的地方,望不吝赐教。

[!--infotagslink--]

相关文章

  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • R语言作图:坐标轴的设置方式

    这篇文章主要介绍了R语言作图:坐标轴的设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • R语言 如何删除指定变量或对象

    这篇文章主要介绍了R语言删除指定变量或对象的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • R语言基本画图函数与多图多线的用法

    这篇文章主要介绍了R语言基本画图函数与多图多线的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • 解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效

    这篇文章主要介绍了解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-25
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • Ubuntu20.04安装cuda10.1的步骤(图文教程)

    这篇文章主要介绍了Ubuntu20.04安装cuda10.1的步骤(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-30
  • 在PyCharm中安装PaddlePaddle的方法

    这篇文章主要介绍了在PyCharm中安装PaddlePaddle的方法,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • Postman安装与使用详细教程 附postman离线安装包

    这篇文章主要介绍了Postman安装与使用详细教程 附postman离线安装包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-05
  • R语言-如何将list转换为向量

    这篇文章主要介绍了R语言-将list转换为向量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • linux服务器快速卸载安装node环境(简单上手)

    这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • R语言-如何切换科学计数法和更换小数点位数

    这篇文章主要介绍了R语言-切换科学计数法和更换小数点位数的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • R语言创建矩阵的实现方法

    这篇文章主要介绍了R语言创建矩阵的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06