【发布时间】:2016-08-23 19:50:11
【问题描述】:
我有一个未连接到互联网的 Debian 虚拟机。然而,我仍然可以从我的本地机器上 scp 任何有互联网连接的文件。为了提供一点上下文,我试图在 VM 上托管一个闪亮的应用程序。
我仍然可以使用“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
所以,我正在考虑是否可以将“shiny.tar.gz”scp 到 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 分钟左右。
标签: r linux debian shiny-server cran