2013-06-19 2 views
11

Я пытаюсь установить некоторые R пакеты на машине Linux с использованиемОШИБКА: файл «NAMESPACE» требуется

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

и появляется сообщение об ошибке:

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), который старше прото пакет работал с:

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

Re-tar пакет:

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") 
Смежные вопросы