如何从本地文件安装 stringi(绝对不能访问 Internet)
How to install stringi from local file (ABSOLUTELY no Internet Access)
我正在使用 RStudio 在远程服务器上工作。此服务器无法访问 Internet。我想安装包“stringi”。我看过这个 stackoverflow article,但每当我使用命令
install.packages("stringi_0.5-5.tar.gz",
configure.vars="ICUDT_DIR=/my/directory/for/icudt.zip")
它只是尝试访问 Internet,但它无法访问。到目前为止,我一直在使用 工具 -> 安装包 -> 从打包存档文件安装 。但是,由于这个错误,我不能再使用这个方法了。
如何安装这个包?
如果您无法在本地计算机上访问 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 会话中。
对于 Linux 机器,最简单的方法是从我的角度来看:
- 从 Rexamine 以 tar.gz 格式将您需要的版本下载到您的本地电脑。与 CRAN 上的版本相反,它已经包含 icu55\data\ 文件夹。
- 将存档移动到没有互联网访问权限的目标 linux 机器
- 运行
R CMD INSTALL stringi-1.0-1.tar.gz
(在发布 1.0-1 的情况下)
您提供的 configure.vars 值有误。
它表示您必须给出目录的名称,而不是最终的文件名。
将您的代码更正为以下内容:
install.packages("stringi_0.5-5.tar.gz",
configure.vars="ICUDT_DIR=/my/directory/for/")
此致,
肖恩
按照以下步骤操作
- 从您可以访问互联网的服务器单独下载
icudt55l.zip
wget http://www.mini.pw.edu.pl/~gagolews/stringi/icudt55l.zip
- 将下载的包复制到要安装的服务器上
stringi
- 执行以下命令
R CMD INSTALL --configure-vars='ICUDT_DIR=/tmp/ALL' stringi_1.1.6.tar.gz
icudt55l.zip
复制到 /tmp/ALL
@gagolews 的建议几乎对我有用。这是 RStudio.
的实际作用
- 下载the
master.zip
file that will save as stringi-master.zip
.
- 将文件解压缩到您的桌面上。解压后的文件夹应该是
stringi-master
.
- 通过删除
^src/icu55/data
和 ^src/icu61/data
或类似行来编辑 .Rbuildignore
文件。
- 将文件夹从桌面移动到服务器的主目录。
- 在 RStudio 中创建一个新项目,将
~/stringi-master
作为现有目录
- 从 RStudio 的菜单中,select Build 和 Build Source Package。 (您可能需要先 select 配置构建工具 。对于 项目构建工具 选择 包 然后 select OK.)
- 它应该创建一个
tar.gz
文件,格式如下:stringi_x.x.(x+1).tar.gz
。例如,如果 stringi 的当前版本是 1.5.3,它将创建版本 1.5.4。 (我收到了一些似乎没有影响结果的警告。)
- 将新创建的包移动到您的本地存储库。更新存储库索引。并安装软件包。
我正在使用 RStudio 在远程服务器上工作。此服务器无法访问 Internet。我想安装包“stringi”。我看过这个 stackoverflow article,但每当我使用命令
install.packages("stringi_0.5-5.tar.gz",
configure.vars="ICUDT_DIR=/my/directory/for/icudt.zip")
它只是尝试访问 Internet,但它无法访问。到目前为止,我一直在使用 工具 -> 安装包 -> 从打包存档文件安装 。但是,由于这个错误,我不能再使用这个方法了。
如何安装这个包?
如果您无法在本地计算机上访问 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 会话中。
对于 Linux 机器,最简单的方法是从我的角度来看:
- 从 Rexamine 以 tar.gz 格式将您需要的版本下载到您的本地电脑。与 CRAN 上的版本相反,它已经包含 icu55\data\ 文件夹。
- 将存档移动到没有互联网访问权限的目标 linux 机器
- 运行
R CMD INSTALL stringi-1.0-1.tar.gz
(在发布 1.0-1 的情况下)
您提供的 configure.vars 值有误。 它表示您必须给出目录的名称,而不是最终的文件名。
将您的代码更正为以下内容:
install.packages("stringi_0.5-5.tar.gz",
configure.vars="ICUDT_DIR=/my/directory/for/")
此致, 肖恩
按照以下步骤操作
- 从您可以访问互联网的服务器单独下载
icudt55l.zip
wget http://www.mini.pw.edu.pl/~gagolews/stringi/icudt55l.zip
- 将下载的包复制到要安装的服务器上
stringi
- 执行以下命令
R CMD INSTALL --configure-vars='ICUDT_DIR=/tmp/ALL' stringi_1.1.6.tar.gz
icudt55l.zip
复制到 /tmp/ALL
@gagolews 的建议几乎对我有用。这是 RStudio.
的实际作用- 下载the
master.zip
file that will save asstringi-master.zip
. - 将文件解压缩到您的桌面上。解压后的文件夹应该是
stringi-master
. - 通过删除
^src/icu55/data
和^src/icu61/data
或类似行来编辑.Rbuildignore
文件。 - 将文件夹从桌面移动到服务器的主目录。
- 在 RStudio 中创建一个新项目,将
~/stringi-master
作为现有目录 - 从 RStudio 的菜单中,select Build 和 Build Source Package。 (您可能需要先 select 配置构建工具 。对于 项目构建工具 选择 包 然后 select OK.)
- 它应该创建一个
tar.gz
文件,格式如下:stringi_x.x.(x+1).tar.gz
。例如,如果 stringi 的当前版本是 1.5.3,它将创建版本 1.5.4。 (我收到了一些似乎没有影响结果的警告。) - 将新创建的包移动到您的本地存储库。更新存储库索引。并安装软件包。