2012-04-13 241 views
11

我想構建一個R包,但似乎有一些包依賴關係的問題。如果我運行在R上的代碼,我需要的套餐「rgdal」和「rgeos」,爲creatng包出來,我這麼:R包依賴關係

  • 增加了行「進口(rgdal,rgeos)」到空間文件
  • 增加了行 「取決於:rgeos,rgdal」 來描述文件

當我運行[R CMD檢查(編譯後),我得到了它說的錯誤:

* checking package dependencies ... ERROR 
Benötigte, aber nicht verfügbare Pakete: 
    'rgeos' 'rgdal' 

See the information on DESCRIPTION files in the chapter 'Creating R 
packages' of the 'Writing R Extensions' manual. 

德國部分錯誤:「Benötigte,aber nich tverfügbarePakete:「=」需要,但不可用包「。

我已閱讀上述手冊,並瞭解使用導入,建議或增強的選項,但我非常確定,依賴是我必須使用的選項,因爲在我的代碼功能中, m使用這兩個包的外部函數。

我在做什麼錯?

回答

9

R認爲您沒有系統上的軟件包。

現在你當然知道你是做的。有什麼不同?

那麼你可能已經將它們安裝在另一個目錄中,其中R CMD check沒有看到。解決這個問題的一種方法在'R內部'手冊的標題爲「工具」的第7部分(參考'編寫R擴展')中描述,並使用文件~/.R/checkEnviron來設置在R CMD check期間使用的環境變量。

例如,我有

# edd Apr 2003 Allow local install in /usr/local, also add a directory for 
#    Debian packaged CRAN packages, and finally the default dir 
# edd Jul 2007 Now use R_LIBS_SITE, not R_LIBS 
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:' 
          '/usr/lib/R/site-library:/usr/lib/R/library'} 

,我只是打破了一個長行(有沒有在中間的兩個單引號)。

+0

是否在'$ R_HOME/etc/Rcmd_environ'中指定也可以工作? – 2012-04-13 18:38:19

+0

很可能,是的,至少遠遠的位置。但我習慣於創建'〜/ .R /'目錄並在其中放置文件。文件「Rcmd_environ」在哪裏記錄在案? – 2012-04-13 18:39:36

+0

我不確定它有記錄。我在我的XP機器上發現了一段時間。甚至不知道它在* nix安裝上存在。 – 2012-04-13 18:57:47