如何从本地文件安装stringi(绝对没有Internet访问)

Kat*_*ler 13 r package stringi

我正在使用RStudio在远程服务器上工作.此服务器无法访问Internet.我想安装包"stringi".我看过这个s tackoverflow文章,但每当我使用该命令时

install.packages("stringi_0.5-5.tar.gz", 
                 configure.vars="ICUDT_DIR=/my/directory/for/icudt.zip")
Run Code Online (Sandbox Code Playgroud)

它只是试图访问互联网,这是它无法做到的.到目前为止,我一直在使用工具 - >安装包 - >从打包存档文件安装.但是,由于此错误,我无法再使用此方法.

我该如何安装这个包?

gag*_*ews 14

如果您在本地计算机上无法访问Internet,则可以通过省略.Rbuildignore文件中的某些相关行来构建可分发的源包,其中包含所有必需的ICU数据文件(用于脱机使用).以下命令序列应该可以解决问题:

wget https://github.com/gagolews/stringi/archive/master.zip -O stringi.zip
unzip stringi.zip
sed -i '/\/icu..\/data/d' stringi-master/.Rbuildignore
R CMD build stringi-master
Run Code Online (Sandbox Code Playgroud)

假设最新的开发版本是1.3.1,stringi_1.3.1.tar.gz则在当前工作目录中创建一个名为的文件.现在可以scp通过执行以下命令安装软件包(源软件包可以通过等传播 ):

R CMD INSTALL stringi_1.3.1.tar.gz
Run Code Online (Sandbox Code Playgroud)

或者通过install.packages("stringi_1.3.1.tar.gz", repos=NULL)在R会话中呼叫.

  • 你的意思是“R CMD INSTALL stringi-master”?(例如,如上但不是 .zip 扩展名) (2认同)

小智 6

您提供了错误的 configure.vars 值。它表示您必须提供目录的名称,而不是最终的文件名。

将您的代码更正为以下内容:

install.packages("stringi_0.5-5.tar.gz", 
                 configure.vars="ICUDT_DIR=/my/directory/for/")
Run Code Online (Sandbox Code Playgroud)

问候, 肖恩


fab*_*ica 5

对于Linux计算机,最简单的方法是从我的角度来看:

  1. Rexamine以tar.gz格式下载所需的发行版到本地PC。与CRAN上的版本相反,它已经包含icu55 \ data \文件夹。
  2. 在没有互联网访问的情况下将归档文件移至目标linux计算机
  3. 运行R CMD INSTALL stringi-1.0-1.tar.gz(在版本1.0-1的情况下)