错误:需要“NAMESPACE”文件

ERROR: a 'NAMESPACE' file is required

提问人:user2448881 提问时间:6/20/2013 最后编辑:zx8754user2448881 更新时间:10/24/2019 访问量:17163

问:

我正在尝试使用

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â
命名空间 R-FAQ

评论


答:

4赞 Christopher Neylan 7/11/2013 #1

实际上,我在编译 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) 安装,较旧的 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 文件,但新版本保释了。希望这对你有所帮助!

42赞 polarise 9/3/2013 #2

根据用于编写扩展的 R 文档,所有发往版本 3.0.0 及更高版本的包都必须包含一个文件。如果您下载的软件包出现上述错误,您应该尝试以下操作:NAMESPACER

解压缩包:

tar -xvf the_package.tar.gz

添加一个文件,其中包含以下行:NAMESPACEexportPattern( "." )

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

重新涂上包装:

tar -zcf the_package.tar.gz the_package

尝试重新安装。

希望能有所帮助。

评论

1赞 imriss 4/23/2015
很棒的解决方案!在 Windows 上,您可以使用 代替 .echo exportPattern( "." ) > NAMESPACEecho 'exportPattern( "." )' > NAMESPACE
3赞 Peter 11/5/2017 #3

我发现以下链接更有用:我应该如何处理“包'xxx'不可用(适用于 R 版本 x.y.z)”警告?

6.包装已过期

它可能已被存档(如果它不再维护并且不再通过 R CMD 检查测试)。

在这种情况下,您可以使用 install_version() 加载旧版本的包

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

另一种方法是从 github CRAN 镜像安装。

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

评论

0赞 bapors 4/3/2018
对于包,抛出错误。这是意料之中的吗?GeneTSinstall_githubERROR: a 'NAMESPACE' file is required
1赞 F. Privé 10/24/2019 #4

现在可以使用 or .remotes::install_url()remotes::install_local()

它安装依赖项并自动生成文件。NAMESPACE