2011-11-04 68 views
3

我使用從本地zip文件菜單中選擇安裝的軟件包上R 2.14.0安裝asreml.d。當我試着使用library(asreml.d)加載包,我得到以下錯誤誤差asreml.d包在R-2.14.0

Error in library(asreml.d) : 
    package ‘asreml.d’ does not have a NAMESPACE and should be re-installed 

錯誤發生甚至重新安裝後。任何意見,想法和解決方案來解決這個問題將不勝感激。預先感謝您的時間和幫助。

+1

聯繫包維護者??? –

+0

我想這是由於[R 2.14.0]的[新功能](http://stackoverflow.com/q/7998438/707145) – MYaseen208

+1

在2.13.x下運行它,或者獲取專門爲2.14.x。 –

回答

5

包的維護人員需要更新包以包含NAMESPACE文件。

也就是說,您可能有幸將自己的NAMESPACE文件作爲黑客插入。它看起來像ASReml是封閉源代碼,但你有.zip文件。嘗試解壓縮它。然後,創建一個包含一個簡單的文本文件:

exportPattern("^[^\\.]") 

保存爲NAMESPACE(注意,有喜歡的.txt沒有擴展名時,Windows有時偷偷在這些)。將NAMESPACE放在解壓縮包的頂部文件夾中(應該是asreml.d/之類的東西;那裏還有一個DESCRIPTION文件)。如果有MD5文件,則應該刪除它。現在,重新編碼asreml.d/目錄。查看新的zip文件是否有效。

關於NAMESPACE的更多信息,請參閱http://cran.r-project.org/doc/manuals/R-exts.html#Package-namespaces

注意這可能是不好的建議。但它似乎會起作用。它不會傷害任何東西。

+0

如果R 2.14.x中尚未包含NAMESPACE文件,那麼它將自動添加NAMESPACE文件,因此維護人員只需爲R 2.14.x重新構建它即可。例如,請參閱:http://stackoverflow.com/questions/7998438/r-2-14-detect-packages-without-namespace –

+0

@G。 Grothendieck沒錯,但是這個工作在同時,而MYaseen208正在等待維護者用R 2.14.x來構建? – jthetzel

+0

當然,根本不需要做任何修改,只需要在2.14.x下重建就比添加NAMESPACE,然後用2.13.x重建它更容易。 –