19

を使用して Linux マシンにいくつかの R パッケージをインストールしようとしています。

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

4 に答える 4

39

R拡張機能の作成に関するドキュメントによると、バージョン 3.0.0 以降を対象とするすべてのパッケージにはNAMESPACEファイルが含まれている必要があります。上記のエラーが発生するパッケージをダウンロードした場合はR、次のことを試してください。

パッケージを解凍します。

tar -xvf the_package.tar.gz

NAMESPACE次の行でファイルを追加しますexportPattern( "." )

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

パッケージを tar し直します:

tar -zcf the_package.tar.gz the_package

再インストールしてみてください。

それが役立つことを願っています。

于 2013-09-03T11:03:06.003 に答える
4

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)

古い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 ファイルを作成しているように見えますが、新しいバージョンは問題ありません。これがお役に立てば幸いです!

于 2013-07-10T20:58:39.477 に答える
3

次のリンクがより役立つことがわかりました。 「パッケージ 'xxx' は利用できません (R バージョン xyz の場合)」という警告にどのように対処すればよいですか?

6.パッケージが古くなっています

アーカイブされている可能性があります(メンテナンスが行われなくなり、R CMD checkテストに合格しなくなった場合)。

この場合、次を使用して古いバージョンのパッケージをロードできます。install_version()

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

別の方法は、github CRAN ミラーからインストールすることです。

library(devtools)
install_github("cran/foobarbaz")
于 2017-11-05T09:41:02.687 に答える