【发布时间】:2016-02-19 19:13:56
【问题描述】:
我在 Windows 计算机上运行 R CMD INSTALL --build package。我的包导入了几个其他包,它们本身依赖于更多包。我在本地 r_libs 文件夹中安装了所有依赖项,一切正常。
现在有时我在另一台 Windows 计算机上拥有我的包源代码。在这台计算机上,我没有安装所有依赖包。
当我尝试使用R CMD INSTALL --build package 时,我得到了明显的“ERROR: dependencies 'package a', 'package b', etc, are not available for package"”。
我的问题是:我可以使用R CMD INSTALL --build 构建包而不进行依赖检查,并且不删除DESCRIPTION 文件中的Import 和Depends 条目吗?
咨询--help 后,我尝试了--no-test-load 选项,但没有成功。
【问题讨论】:
-
不确定我是否理解,您要安装包而不安装依赖项吗?
-
@nicola OP 想要在不安装所有依赖项的情况下构建 Windows 二进制文件。 AFAIK 这是不可能的。
-
@JorisMeys,正确。我做了更多实验,发现我可以在 R 中使用 install.packages("package", repos=NULL, type='source', INSTALL_opts="--build") 来完成。但是,如果可以使用 R CMD INSTALL 完成,我仍然会感兴趣?
-
对不起,我之前的评论不正确。 install.packages 也不这样做。也许@JorisMeys 是正确的,这是不可能的?
-
我认为(但我不是 100% 确定)二进制文件需要您在 NAMESPACE 文件中导入的函数才能正确构建所有内容。如果您首先在具有依赖项的计算机上构建二进制文件,然后使用 R CMD INSTALL 在没有依赖项的计算机上安装它,它将安装但不会使用
install.packages加载。所以我认为 R 根本无法在没有依赖项的情况下构建。
标签: r