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

时间:2015-08-11 12:50:53

标签: r package stringi

我正在使用RStudio在远程服务器上工作。此服务器无法访问Internet。我想安装包“stringi”。我看过这个tackoverflow article,但只要我使用命令

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

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

如何安装此软件包?

5 个答案:

答案 0 :(得分:14)

如果您在本地计算机上没有Internet访问权限,则可以构建包含所有必需的可分发源包 ICU数据文件(用于离线使用)省略了一些相关的行 .Rbuildignore文件。以下命令序列应该可以解决这个问题:

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

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

R CMD INSTALL stringi_1.3.1.tar.gz

或致电install.packages("stringi_1.3.1.tar.gz", repos=NULL), 来自R会议。

答案 1 :(得分:4)

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

  1. 以tar.gz格式从Rexamine下载所需的版本到您的本地电脑。与CRAN上的版本相反,它已包含icu55 \ data \文件夹。
  2. 将存档移至目标linux计算机,无需访问Internet
  3. 运行R CMD INSTALL stringi-1.0-1.tar.gz(如果是1.0-1版本)

答案 2 :(得分:3)

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

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

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

此致 肖恩

答案 3 :(得分:0)

按照以下步骤

  1. 从您可以访问互联网的服务器上单独下载icudt55l.zip wget http://www.mini.pw.edu.pl/~gagolews/stringi/icudt55l.zip
  2. 将下载的软件包复制到要安装的服务器stringi
  3. 执行以下命令 R CMD INSTALL --configure-vars='ICUDT_DIR=/tmp/ALL' stringi_1.1.6.tar.gz
  4. icudt55l.zip已复制到/tmp/ALL

答案 4 :(得分:0)

@gagolews 的建议几乎对我有用。下面是 RStudio 的实际作用。

  1. 下载the master.zip file that will save as stringi-master.zip
  2. 将文件解压缩到桌面上。解压后的文件夹应该是 stringi-master
  3. 通过删除 .Rbuildignore^src/icu55/data 或类似的行来编辑 ^src/icu61/data 文件。
  4. 将文件夹从桌面移动到服务器的主目录。
  5. 在 RStudio 中创建一个新项目,将 ~/stringi-master 作为现有目录
  6. 从 RStudio 的菜单中,选择构建构建源包。 (您可能需要先选择配置构建工具。对于项目构建工具,选择,然后选择确定。)
  7. 它应该创建一个 tar.gz 文件,格式如下:stringi_x.x.(x+1).tar.gz。例如,如果 stringi 的当前版本是 1.5.3,它将创建版本 1.5.4。 (我收到了一些似乎不会影响结果的警告。)
  8. 将新创建的包移动到本地存储库。更新存储库索引。并安装软件包。