从R内部设置LD_LIBRARY_PATH

Crt*_*Crt 7 unix r linker-flags

我已经安装了R软件包,但是为了通过加载library,需要将LD_LIBRARY_PATH设置为其中一个库(称为libhts.so.2)的路径。只有在进入R之前而不是之后才编辑LD_LIBRARY_PATH时,加载才起作用。

我尝试了几种不同的方法来解决这个问题:

  1. configureR包中的脚本导出修改后的LD_LIBRARY_PATH 。
  2. 在同一configure脚本中创建到共享库的软链接。

两者都不起作用,在我看来,一旦启动R,就有一个变量存储LD_LIBRARY_PATH的结果。也许解决方案是编辑该变量。

Crt*_*Crt 8

Hans Lub 的帮助下,解决问题的方法是使用该dyn.load()函数并提供库的完整路径:

dyn.load('path_to_library')
Run Code Online (Sandbox Code Playgroud)

然后,通过加载library应该可以工作。

  • 是的,这是可行的,但是如果您想安装一个新的包,安装发生在一个全新的环境中,并且在尝试加载 DLL 的安装之前没有机会使用 dyn.load()。 (2认同)