我有一个没有连接到互联网的Debian虚拟机。但是,我仍然可以从我的本地机器上连接互联网的任何文件。为了提供一点点上下文,我试图在VM上托管一个闪亮的应用程序。如何在脱机Debian机器上安装R软件包?
我仍然可以用“的apt-get”命令安装一个老R版本3.1.1:
sudo apt-get update
sudo apt-get install r-base
sudo apt-get install r-base-dev
然而,仍然在检查列表找不到“闪亮”套餐:
sudo apt-cache search "^r-.*" | sort
所以,我想我是否可以scp“shiny.tar.gz”到VM并在本地安装软件包?我如何离线安装任何R软件包?
我已经试过喜欢出头:
install.packages('/home/mli/R/dir_pkg/shiny/shiny_0.13.2.tar.gz', repos = NULL, type = "source")
然而,它并没有去通过,并如下错误信息:
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Error in type == "both" :
comparison (1) is possible only for atomic and list types
Calls: install.packages
Execution halted
然后,我用另一个 “R CMD” 试了一下:
R CMD INSTALL /home/mli/R/dir_pkg/shiny/shiny_0.13.2.tar.gz
我得到错误信息告诉我,依赖关系丢失:
* installing to library ‘/home/mli/R/x86_64-pc-linux-gnu-library/3.1’
ERROR: dependencies ‘httpuv’, ‘mime’, ‘jsonlite’, ‘xtable’, ‘digest’, ‘htmltools’, ‘R6’ are not available for package ‘shiny’
* removing ‘/home/mli/R/x86_64-pc-linux-gnu-library/3.1/shiny’
如何从源码成功安装闪亮的包?我应该先安装所有依赖关系和依赖关系吗?
“R CMD INSTALL”命令不会自动查找并安装依赖关系,并且在不满足依赖关系时它将拒绝安装包。可能有一个更简单的方法,但我只是通过它们出现时的依赖关系(httpuv是一个你已经被告知是必需的)并且R CMD将它们逐个安装。他们很容易找到,只需在浏览器中根据您下载闪亮包的链接导航到r项目页面(只需删除最后的闪亮部分),然后搜索您要查找的包。通常需要3分钟左右才能找到所需的所有依赖关系。 – rosscova