簡體   English   中英

devtools :: install():安裝R包,導入另一個本地存儲的包

[英]devtools::install(): Installing R package which imports another package that is stored locally

我試圖在本地構建R包,只是為了我自己的利益標准化我的代碼。 我無意在CRAN或GitHub上發帖。 我想要做的是將我已經開發的包導入到我正在開發的新包中。

例如:

  • 調用第一個包pack_a和第二個包pack_b
  • pack_a沒有任何依賴項和安裝沒有任何問題。
  • pack_b依賴於pack_a,因此pack_aimports_b的 imports_b的DESCRIPTION文件中引用

我面臨的問題是,當我安裝pack_b(使用devtools::install() )時會出現以下錯誤:

Skipping 1 unavailable package: pack_a

在瀏覽GitHub上的devtools代碼之后,看來它正在使用available.packages()在CRAN上查找所需的包。 當然我的pack_a不在CRAN上,因此無法找到它然后pack_b無法安裝。 我希望它首先檢查pack_a是否已經安裝在我的默認庫中,因此甚至不會嘗試重新安裝它。

所以我的問題歸結為:

如何在安裝pack_b時指定在本地驅動器上找到pack_a的 位置 如果不可能,那么在安裝過程中是否會關閉所需軟件包的安裝?

之前有一個類似的問題,我不完全確定,但我認為其中一個建議是將本地路徑添加到install.packages()repos參數中。 然而,這對我不起作用。

上一個類似的問題: R包導入SparkR(不在CRAN上)

任何指導都將非常感謝。

我不完全確定為什么你在沒有更多細節的情況下遇到這個問題,正如我為你自己的包描述的那樣(兩者也不在CRAN上)並且沒有問題。

話雖如此,一個簡單的解決方案,如果你肯定知道pack_a安裝安裝pack_b是運行:

devtools::install(dependencies = FALSE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM