2011-02-25 82 views
0

我正在嘗試創建一個示例R包。我產生的骨架:在Windows上構建R包的問題

package.skeleton(name = "hello",environment = .GlobalEnv, path = "c:", force = FALSE) 

,並建立它:

C:\>R CMD build hello 

然而,R輸出以下抱怨

* checking for file 'hello/DESCRIPTION' ... OK 
* preparing 'hello': 
* checking DESCRIPTION meta-information ... ERROR 
During startup - Warning messages: 
1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return 
= TRUE, : 
' there is no package called 'NULL 
in options("defaultPackages") was not found 

我做了一些谷歌挖。有些人似乎認爲這是一個特定的字符編碼問題。雖然,我找不到任何解決方法。我想知道這裏有人會知道解決方案嗎?

更新 我在Revolution提供的程序包中使用R 2.11.1。從CRAN切換到R 2.12.1後,問題得以解決。

感謝,

+2

哪個版本的Windows?哪個版本的R? – Sharpie 2011-02-25 22:20:40

+0

另外,從另一端嘗試下載一個(小的,經過充分測試的)CRAN軟件包,並運行「R CMD INSTALL」和「R CMD build --binary」中的一個或兩個。這樣你就知道了工具包,env。變數,...都很好。 – 2011-02-25 22:30:59

+0

您使用哪種編輯器保存文件?那裏是否有任何「外國人」角色(如ščćžđ)?什麼是編碼設置? – 2011-02-25 22:41:56

回答

0

更新,我用的是由革命提供的包r 2.11.1當我遇到這個問題。從CRAN切換到R 2.12.1後,問題得以解決。

0

爲package.skeleton該規範()是:

package.skeleton(name = "anRpackage", list, environment = .GlobalEnv, 
    path = ".", force = FALSE, namespace = FALSE, 
    code_files = character()) 

這意味着 「名單」 是不可選的,你必須指定它。它是放置在項目中的對象列表。

看到這裏如何做到這一點:

http://rss.acs.unt.edu/Rdoc/library/utils/html/package.skeleton.html

+0

從url中,「如果列表被忽略且code_files爲空,則打包此環境的內容。」所以,如果環境是供應,我認爲「列表」是可選的。除此之外,當我運行命令 – defoo 2011-02-26 03:11:11

+0

嘗試使用空向量作爲列表時,R並沒有抱怨,然後告訴它是否有效,或者我們是否需要嘗試其他方法。 – 2011-02-26 14:48:20