2013-06-19 9 views
11

Staram się zainstalować niektórych pakietów R na komputerze z systemem Linux z wykorzystaniemERROR: a 'NAMESPACE' plik jest wymagane

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

i widzę komunikat o błędzie:

ERROR: a 'NAMESPACE' file is required 

Używam R 3.0.1. Proszę o pomoc, jestem nowy dla R i po prostu pobrałem te pakiety dla klientów.

Jeden przykład:

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â 

Odpowiedz

3

I właściwie tylko trafić w samo podczas kompilacji R-3.0.1. Wygląda na to, że wersja pakietu, z której korzystałem, była nieaktualna. To był dla 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’ 

Ale nie było to nowsza wersja dla Proto (0,3-10), który pracował w porządku:

# ../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) 

miałem starszy zainstalować R (2.15), które starsza pakiet proto współpracował z:

# /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 

wygląda starszej wersji R faktycznie tworzy brakujący plik przestrzeni nazw, ale nowa wersja bails. Mam nadzieję, że to pomoże!

34

According to the R documentation for writing extensions, wszystkie pakiety przeznaczone dla wersji 3.0.0 i nowszych muszą zawierać plik NAMESPACE. Jeśli pobierzesz pakiet R który daje powyższy błąd, oto co należy spróbować:

Rozpakuj pakietu:

tar -xvf the_package.tar.gz 

Dodaj plik NAMESPACE z linią exportPattern("."):

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

Napełnij opakowanie:

tar -zcf the_package.tar.gz the_package 

Spróbuj i zainstaluj ponownie.

Nadzieję, że pomaga.

+1

świetne rozwiązanie! W systemie Windows można użyć 'echo exportPattern (". ")> NAMESPACE' zamiast" echo "exportPattern (". ")"> NAMESPACE ". – imriss

0

znalazłem poniższy link bardziej przydatne: 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") 
Powiązane problemy