不能從source安裝package: evaluate@0.23的排除方法

又是這幾天~因為分析專案需求,我需要使用到R語言裡的package: ggpubr;這是一個相當好用的圖片排版套件,主要涵蓋的功能是把ggplot2輸出的圖片物件排版成出版等級的圖,例如:組圖、加上統計顯著性、套上經過配色的圖片風格 (theme style)。 然而,由於我的專案內尚未安裝此package,在補安裝時,居然一直卡在其中一個相依套件 (package: evaluate) 的安裝上,並回報了Error,如下圖。

這是一個示意圖,不是專案內的畫面:安裝前,package: evaluate的版本是0.20,package: ggpubr的版本是舊版的0.4.0,而我的目標是ggpubr@0.6,0
這是一個示意圖,不是專案內的畫面:安裝前,package: evaluate的版本是0.20,package: ggpubr的版本是舊版的0.4.0,而我的目標是ggpubr@0.6.0

錯誤訊息
錯誤訊息

重新試了不同的套件安裝方法,包含:從binary檔安裝、更換成較舊的安裝版本、更換套件的下載鏡像站 (mirror) ......等,仍無法順利安裝最新版本;從binary安裝是唯一可行的替代方案,但安裝的卻又不是最新版。後來不知道為何,直接從source安裝ggpubr反而可以跳過package: evaluate,順利安裝,本來想說原本不能安裝可能就是個Bug,想說算了。

沒想到,隔天睡醒靈機一動:說不定是R語言的版本太舊了? 原理是這樣,依照錯誤訊息,無法從source安裝是因為安裝過程要使用的某個函數 「parse(con, encoding = "UTF-8")」 裡面出現問題;快速查了一下,這個似乎是因為OS系統不同卻沒有測試核對過,才可能出現的問題,而我的R語言又有一段時間沒有更新,說不定這個Bug早已在更新的R語言版本中被修復。

除了R語言,Rstudio及Rtools也很久沒檢查過了,索性全部一起更新。恩~果然就可以順利從source編譯、安裝package: evaluate了。

補圖:安裝可以順利成功了!
補圖:安裝可以順利成功了!

專案內,成功安裝後的版本號)
專案內,成功安裝後的版本號

好像很少有人記錄這個issue,這邊簡單記錄一下。果然,定期更新有其必要性,不然就是像這樣,遇到狀況時就會去更新了XD。

-----分隔線-----
# 為了讓需要的人可以搜尋到這篇的內容,下面貼上Error message原文字。
> install.packages("evaluate") Installing package into ‘C:/Users/USER/Documents/R/win-library/4.1’ (as ‘lib’ is unspecified) There is a binary version available but the source version is later: binary source needs_compilation evaluate 0.20 0.23 FALSE installing the source package ‘evaluate’ trying URL 'https://cran.rstudio.com/src/contrib/evaluate_0.23.tar.gz' Content type 'application/x-gzip' length 28346 bytes (27 KB) downloaded 27 KB * installing *source* package 'evaluate' ... ** package 'evaluate' successfully unpacked and MD5 sums checked ** using staged installation
Warning in parse(con, encoding = "UTF-8") : argument encoding="UTF-8" is ignored in MBCS locales Error in parse(con, encoding = "UTF-8") : invalid multibyte character in parser at line 11 ERROR: installing package DESCRIPTION failed for package 'evaluate' * removing 'C:/Users/USER/Documents/R/win-library/4.1/evaluate' * restoring previous 'C:/Users/USER/Documents/R/win-library/4.1/evaluate' Warning in install.packages : installation of package ‘evaluate’ had non-zero exit status The downloaded source packages are in ‘C:\Users\USER\AppData\Local\Temp\RtmpYbEoBk\downloaded_packages’
>

留言