2013-06-19 21 views
11

我試圖安裝使用Linux機器錯誤:一個「命名空間」文件是必需的

R CMD INSTALL -l <ourRlibrarylocation> <path where I saved the packagename.tar.gz file> 

一些R封裝,我看到一個錯誤信息:

ERROR: a 'NAMESPACE' file is required 

我,使用R 3.0.1。請幫助,我是R新手,剛剛爲客戶下載了這些軟件包。

一個例子:

R CMD INSTALL -l /abcde/R/R-3.0.0/library /home/RFILES/PKG/UScensus2000tract_0.03.tar.gz 
* installing *source* package âUScensus2000tractâ ... 
ERROR: a 'NAMESPACE' file is required 
* removing â/abcde/R/R-3.0.0/library/UScensus2000tractâ 

回答

3

編譯R-3.0.1,當我其實只是打了同樣的事情。它看起來是我使用的軟件包版本過時了。這是爲proto

# /var/local/R-3.0.1/bin/R CMD INSTALL -l /var/local/R-3.0.1/lib64/R/library proto_0.3-9.2.tar.gz 
* installing *source* package ‘proto’ ... 
ERROR: a 'NAMESPACE' file is required 
* removing ‘/var/local/R-3.0.1/lib64/R/library/proto’ 

但有對原較新的版本(0.3-10),它工作得很好:

# ../var/local/R-3.0.1/bin/R CMD INSTALL -l ../var/local/R-3.0.1/lib64/R/library proto_0.3-10.tar.gz 
* installing *source* package ‘proto’ ... 
** package ‘proto’ successfully unpacked and MD5 sums checked 
** R 
** demo 
** inst 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** installing vignettes 
    ‘proto.Rnw’ 
    ‘protoref.Rnw’ 
** testing if installed package can be loaded 
* DONE (proto) 

我有一個較舊的安裝的R(2.15),其中舊proto軟件包:

# /var/local/R-2.15.0/bin/R CMD INSTALL -l /var/local/R-2.15.0/lib64/R/library proto_0.3-9.2.tar.gz 
* installing *source* package 'proto' ... 
** Creating default NAMESPACE file 
** R 
** demo 
** inst 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** installing vignettes 
    'proto.Rnw' 
    'protoref.Rnw' 
** testing if installed package can be loaded 

它看起來像老版本的R實際上創建了缺失的NAMESPACE文件,但新版本保存。希望這可以幫助你!

34

According to the R documentation for writing extensions,所有發往版本3.0.0和更高版本的軟件包必須包含NAMESPACE文件。如果你下載一個R包,讓你上面的錯誤,這裏是你應該嘗試什麼:

解壓包:

tar -xvf the_package.tar.gz 

添加NAMESPACE文件與線exportPattern(".")

cd the_package 
echo 'exportPattern(".")' > NAMESPACE 
cd .. 

重新焦油軟件包:

tar -zcf the_package.tar.gz the_package 

嘗試並重新安裝。

希望有所幫助。

+1

的最佳解決方案!在Windows上,您可以使用'echo exportPattern(「。」)> NAMESPACE'而不是'echo'exportPattern(「。」)'> NAMESPACE'。 – imriss

0

我發現下面的鏈接更爲有用: How should I deal with "package 'xxx' is not available (for R version x.y.z)" warning?

6. The package is out of date

It may have been archived (if it is no longer maintained and no longer passes R CMD check tests).

In this case, you can load an old version of the package using install_version()

library(devtools) 
install_version("foobarbaz", "0.1.2") 

An alternative is to install from the github CRAN mirror.

library(devtools) 
install_github("cran/foobarbaz")