如何在不检查依赖项的情况下使用R CMD安装?
我正在windows计算机上运行如何在不检查依赖项的情况下使用R CMD安装?,r,R,我正在windows计算机上运行R CMD INSTALL--build package。我的包导入了几个其他包,这些包本身依赖于更多的包。我在本地的r_libs文件夹中安装了所有依赖项,一切正常 现在,有时我的包源代码在不同的windows计算机上。在这台计算机上,我没有安装所有依赖项软件包 当我尝试使用R CMD INSTALL--build package时,我得到一个明显的“错误:依赖项“package a”、“package b”等不可用于package” 我的问题是:我是否可以使用R
R CMD INSTALL--build package
。我的包导入了几个其他包,这些包本身依赖于更多的包。我在本地的r_libs文件夹中安装了所有依赖项,一切正常
现在,有时我的包源代码在不同的windows计算机上。在这台计算机上,我没有安装所有依赖项软件包
当我尝试使用R CMD INSTALL--build package
时,我得到一个明显的“错误:依赖项“package a”、“package b”等不可用于package”
我的问题是:我是否可以使用R CMD INSTALL--build
构建包,而不进行依赖项检查,也不删除Import
和dependens
文件中的条目
在查阅了--help
之后,我尝试了--no test load
选项,但运气不佳。我认为您希望在未安装所有依赖项的计算机上构建.zip二进制版本的包。恐怕我会让你失望,因为这是不可能的
构建二进制软件包分两步完成:首先从源代码安装软件包(这就是为什么您必须使用R CMD INSTALL
,然后将创建的二进制文件压缩为方便的格式,以便在windows计算机上安装。从源代码安装时会检查依赖项,任何缺少的依赖项都会抛出您面临的错误
由于R在从源代码安装时需要依赖项的信息,因此在构建整个过程之前,您无法绕过安装它们。这也是有意义的。R中安装的包包含一组.rds文件,其中包含R更方便的格式的包信息。为了为NAM创建该信息,请ESPACE文件,它需要能够访问从中导入函数的包。否则,它无法构造有关命名空间的正确信息
因此,您唯一的选择是在用于生成的计算机上安装依赖项。如果您真的想在该计算机上使用该软件包,则必须安装这些依赖项
更多信息:
R内部构件:
编写R扩展:不确定我是否理解,是否要在不安装依赖项的情况下安装程序包?@nicola OP想在不安装所有依赖项的情况下构建windows二进制文件。好吧,这不可能。@JorisMeys,正确。我做了更多的实验,发现我可以在R中使用install.packages来完成(“package”,repos=NULL,type='source',INSTALL_opts=“--build”)。但是,如果可以使用R CMD INSTALL来完成,我还是会感兴趣的。对不起,我之前的评论不正确。INSTALL.packages也不这样做。也许@JorisMeys是正确的,这是不可能的?我想(但我不是100%确定)二进制文件需要您在命名空间文件中导入的函数才能正确构建所有内容。如果您首先在具有依赖项的计算机上构建二进制文件,然后使用R CMD INSTALL将其安装在没有依赖项的计算机上,它将安装,但不会使用INSTALL.packages
加载。因此我认为R Simple如果没有依赖项,y无法构建。对于持续集成目的,需要很好地解释和理解!