从github存储库安装开发版本R包时如何指定lib目录

从github存储库安装开发版本R包时如何指定lib目录,r,git,rstudio,devtools,R,Git,Rstudio,Devtools,在Ubuntu中,我通过在install.packages()中指定lib选项来安装目录/usr/lib/R/site library中的所有R包 但是,当我尝试使用,install\u github()安装R软件包的开发版本时,它总是安装在系统用户的本地存储库中 .libPaths()有4个目录,包括本地存储库。我有两个问题 如果我从.libpath()中删除本地存储库,它会安装在其他3个存储库中的任何一个吗 有没有办法在install\u github()中指定安装库路径 我使用的是ubun

在Ubuntu中,我通过在
install.packages()
中指定
lib
选项来安装目录
/usr/lib/R/site library
中的所有R包

但是,当我尝试使用,
install\u github()
安装R软件包的开发版本时,它总是安装在系统用户的本地存储库中

.libPaths()
有4个目录,包括本地存储库。我有两个问题

  • 如果我从
    .libpath()
    中删除本地存储库,它会安装在其他3个存储库中的任何一个吗

  • 有没有办法在
    install\u github()
    中指定安装库路径

  • 我使用的是
    ubuntu12.0464位
    r3.0.1

    ----------------------更新--------------------------------

  • 无法从
    .libpath()

  • 如果我尝试在RStudio中使用
    install\u github()
    进行安装,它将安装在
    本地存储库中,因为未指定
    lib

  • 如果我尝试以非root用户身份使用
    install\u github()
    进行安装,它将安装在
    本地存储库中,因为未指定
    lib

  • 如果我尝试以root用户身份使用
    install\u github()
    进行安装,它将安装在
    /usr/local/lib/R/site库中,因为未指定
    lib


  • 是否有指定安装库的方法?

    install\u github
    接受传递给
    devtools::install
    ..
    参数
    devtools::install
    有一个
    args
    参数

    args
    要传递给R CMD install的附加命令行参数的可选字符向量。这默认为选项“devtools.install.args”的值

    R CMD install
    接受库参数

     Options:
      -h, --help            print short help message and exit
      -v, --version         print INSTALL version info and exit
      -c, --clean           remove files created during installation
          --preclean        remove files created during a previous run
      -d, --debug           turn on debugging messages
                            and build a debug DLL
      -l, --library=LIB     install packages to library tree LIB
    
    因此,以下措施应该有效:

    devtools::install_github("repo", args = c('--library="./mypath/gdfgdg/"'))
    
    但是,它似乎没有取代对
    R CMD install

    "C:/PROGRA~1/R/R-31~1.0/bin/x64/R" --vanilla CMD INSTALL  \
      "C:\Users\john\AppData\Local\Temp\RtmpucrXMD/RSelenium_1.3.2.tar.gz"  \
      --library="C:/Users/john/Documents/R/win-library/3.1" --install-tests  \
      --library="C:/Users/john/Desktop/"
    

    这更像是一种变通方法,但我找到了一种使用命令行版本的R

    从Ubuntu开始:

    sudo-ir

    我发现的诀窍是使用
    -I
    选项

    然后从R:

    .libpath()

    我的本地R目录没有出现;默认目录是我想要的目录

    然后,我
    install.packages()
    install\u github()

    希望这有帮助


    Ian

    要在
    devtools
    中添加指定的库路径,我们需要将
    与\u libpath()一起使用

    with_libpaths()
    的参数是,
    with_libpaths(new,code)

    下面是将
    与_libpath()一起使用的示例

    提供:哈德利,:)

    除了使用_libpaths()
    ,在
    devtools::with _something()


    更多解释

    @ManojG您是否检查过这是否有效。它似乎对我的设置很有用。我测试过了。我得到的结果和你的答案一样。但它仍然没有安装在指定的目录中,而是安装在本地目录中。请尝试
    args='-l./mypath/gdfgdg/“
    并查看它是否有任何区别这不起作用,但是
    with_libpath()
    的答案对我有效。@lanLyttle:谢谢。但是它仍然只从
    .libPaths()
    中删除本地目录,并且不再有3个目录。与以root用户身份运行R相同。
    devtools::with_libpath()
    不推荐使用。使用
    with r::with_libpath()
    。请参阅
    帮助(“devtools已弃用”)
    。这给了我
    安装:无法创建常规文件'/usr/lib64/R/lib/libs3.so.2.0':权限被拒绝make[1]:***[install]错误1 make[1]:离开目录
    /mnt/tmp/RtmpShKPQi/devtools15aa419a91f09/AnalyticalFlavorSystems-RS3-536f287/src/libs3'make**[libs3.so]错误2错误:程序包“RS3”的编译失败*删除“/home/hadoop/git/threat-odin/lib/R/RS3”错误:命令失败(1)`
    library(devtools)
    with_libpaths(new = "/usr/lib/R/site-library/", install_github('rCharts', 'ramnathv'))
    
    in_dir: working directory
    with_collate: collation order
    with_envvar: environmental variables
    with_libpaths: library paths, replacing current libpaths
    with_lib: library paths, prepending to current libpaths
    with_locale: any locale setting
    with_options: options
    with_path: PATH environment variable
    with_par: graphics parameters