[英]How do I install an R package under another name?
我,使用R 3.4.1在Red Hat企業版Linux 6我包3.0版asreml
下安裝/tools/bioinfo/app/R-3.4.1/lib64/R/library
。
> library(asreml)
Loading required package: lattice
Checking for license <redacted>
> .libPaths()
[1] "/tools/bioinfo/app/R-3.4.1/lib64/R/library"
該軟件包的第4版現已發布,但我們想將第3版的結果與第4版進行比較。為此,我們希望在系統上以asreml4
形式安裝asreml4
。 我已經下載了* tar.gz文件的最新版本,但是如果我下載了
R CMD INSTALL asreml_4.1.0.93.tar.gz
它將安裝在asreml
文件夾中,並覆蓋舊版本。 那不是我想要的
我還嘗試將其安裝在另一個位置,將文件夾重命名為asreml4
,然后將該文件夾復制到/tools/bioinfo/app/R-3.4.1/lib64/R/library
,然后嘗試加載它,但隨后它加載了錯誤的版本:
> library(asreml, lib.loc="/tools/bioinfo/app/R-3.4.1/lib64/R/library/asreml4")
> packageVersion("asreml")
[1] ‘3.0.1’
因此,如何以可以使用library(asreml4)
調用的方式將其安裝在asreml4
文件夾中?
1)編輯DESCRIPTION下載源代碼,編輯DESCRIPTION文件以使用其他名稱,然后構建並安裝它。
2)單獨的庫或者將新版本安裝到單獨的庫中,然后使用其中之一來獲取所需的版本:
library(asreml, lib = ...)
library(asreml)
2a).libPaths的一種變體是使用.libPaths(new)
更改默認庫路徑,發出
library(asreml)
然后改回來。
2b)dev_mode完成庫切換的一種簡單方法是使用不帶參數的dev_mode()
(來自devtools包)。 發出第一個dev_mode()
命令后,默認庫變為〜/ R-dev。 此時,使用普通的install.packages
命令安裝新版本的asrmel,而不指定lib=
,它將安裝到〜/ R-dev中。 使用library
加載而不指定庫將導致它首先查看〜/ R-dev。 然后進行測試,最后准備好切換回原始庫並再次返回原始asreml時,發出dev_mode()
。 dev_mode()
處理默認的庫路徑,因此您可以隨時使用不帶參數的.libPaths()
來檢查當前的默認值。
library(devtools)
dev_mode() # ~/R-dev now default library
# ...
dev_mode() # restore usual default library
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.