溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決R語言中install_github中無法安裝遇到的問題

發(fā)布時間:2021-05-06 10:40:49 來源:億速云 閱讀:1197 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)如何解決R語言中install_github中無法安裝遇到的問題,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

什么是R語言

R語言是用于統(tǒng)計(jì)分析、繪圖的語言和操作環(huán)境,屬于GNU系統(tǒng)的一個自由、免費(fèi)、源代碼開放的軟件,它是一個用于統(tǒng)計(jì)計(jì)算和統(tǒng)計(jì)制圖的優(yōu)秀工具。

首先,讓我們來進(jìn)入常規(guī)步驟

我安裝的是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語言中install_github中無法安裝遇到的問題

這可能是R新版本的默認(rèn)設(shè)置為外國版本,之前的版本上沒有遇到過類似鏡像的問題,解決完這里,如果是稍微簡單點(diǎn)的問題就可以被解決了,然而我的路才剛剛開始。

第二個問題:

要在https://cran.rstudio.com/bin/windows/Rtools/網(wǎng)站中下載rtools錯誤大概就是這么寫的,具體我已經(jīng)無法還原了,相信這個報(bào)錯大家都能看懂,下載未被凍結(jié)或鎖定的rtools,注意安裝時要選擇自動添加路徑,不然還得手動添加,容易出錯。這一步下來,正常的包都可以安裝了。

第三個問題

錯誤為:

failed to receive handshake ssl/tls connection failed github

第一種方法:

始終無法訪問github,查過許多資料,有一部分說是IE出了問題,在選項(xiàng)中一次勾選SSL之類的,然而我一開始沒有找到這個地方,不過好像這個方法蠻簡單,大家如果遇到類似問題可以去百度嘗試一下,

第二種方法:

很可能是因?yàn)槟愕木W(wǎng)絡(luò)被設(shè)置而代理,或者是你有下載翻墻軟件串改了你的internet設(shè)置,具體操作如下:打開IE瀏覽器,選擇工具->internet選項(xiàng)->連接->局域網(wǎng)設(shè)置->點(diǎn)擊自動設(shè)置(若勾選,則點(diǎn)為不勾選。若不勾選,則點(diǎn)為勾選),下面的LAN設(shè)置不要勾選

第三種方法:

打開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的文件路徑)

運(yùn)行完之后退出,重新打開R,再執(zhí)行安裝命令

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

就OK了。

補(bǔ)充:R安裝xml2 (安裝devtools)

安裝devtools

今天看到了一個R上的一個包,似乎是要用到devtools。發(fā)現(xiàn)我linux電腦上的R并沒有裝devtools這個包。想著直接安裝一下,沒想到卻意外頻發(fā)。

R:R-4.0.0

devtools需要很多依賴包,用R自帶的

install.packages("devtools")

可以很好地解決這些問題,但是發(fā)現(xiàn)安裝失敗。仔細(xì)檢查后發(fā)現(xiàn)是安裝xml2的時候出現(xiàn)了意外。

xml2這個包沒有裝上,導(dǎo)致了最終devtools沒有安裝成功。

安裝xml2時報(bào)錯:

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裝過了一下,發(fā)現(xiàn)只是版本有些舊,但還是有的。

然后發(fā)現(xiàn)在報(bào)錯的最前面:

--- 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

所以應(yīng)該是由于調(diào)用了anaconda3下面的libxml2導(dǎo)致的原因。想在環(huán)境變量中將anaconda3給注釋掉,但是會調(diào)到pymol下面,后來發(fā)現(xiàn)直接修改xml2安裝包的configure就好了。

找到xml2的安裝包。在報(bào)錯的最后面會給出:

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進(jìn)行安裝(在xml2目錄下)

R CMD INSTALL ./

即可順利安裝xml2包。

其余的包使用

install.packages("devtools")

關(guān)于“如何解決R語言中install_github中無法安裝遇到的問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI