Подтвердить что ты не робот

ОШИБКА: требуется файл "NAMESPACE"

Я пытаюсь установить некоторые пакеты R на машине Linux, используя

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â
4b9b3361

Ответ 1

В соответствии с документацией R для написания расширений все пакеты, предназначенные для версии 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

Попробуйте снова установить его.

Надеюсь, что это поможет.

Ответ 2

Я просто нажимаю то же самое при компиляции 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’

Но была новая версия для 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, но новая версия закладывает. Надеюсь, это поможет вам!

Ответ 3

Я нашел следующую ссылку более полезной: Как мне обращаться с "пакетом" xxx 'недоступно (для версии R x.y.z)" предупреждение?

6. Пакет устарел

Возможно, он был заархивирован (если он больше не поддерживается и больше не проходит R CMD check).

В этом случае вы можете загрузить старую версию пакета, используя install_version()

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

Альтернативой является установка из зеркала CRAN github.

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