0

RcppLinux Ubuntu 12.04 に R2.15.2 NB をインストールすると、R と rcpp の両方が昨日インストールされました。だから私は最新バージョンを期待しますが、Rcpp古いバージョンとしてインストールされています!

> old.packages()

     Package LibPath                   Installed  Built    ReposVer  
Rcpp "Rcpp"  "/usr/lib/R/site-library" "0.9.9"    "2.14.1" "0.10.2"  
rgl  "rgl"   "/usr/lib/R/site-library" "0.92.798" "2.12.1" "0.92.894"
     Repository                                 
Rcpp "http://www.stats.bris.ac.uk/R/src/contrib"
rgl  "http://www.stats.bris.ac.uk/R/src/contrib"
> update.packages("Rcpp")

最後の行が示すように、パッケージはまったく更新されていませんRcpp。何が原因で、これを解決するにはどうすればよいですか?

NB 2 つの異なるリポジトリから再インストールを試みましたが、どちらも rcpp の最新バージョン 0.10.2 を持っていると主張しています。

よろしく

ジェフェ

4

1 に答える 1

4

あなたは単に誤解しています。

あなたが持っているRcppはUbuntuapt-getからのもので、 et alによってインストールされています。そのバージョンは、ディストリビューションがフリーズするとフリーズします。これは、gcc、emacs、... が現在入手可能な最新バージョンではなく、ディストリビューションが作成されたときのバージョンであることに似ています。余談ですが、そのUbuntuバージョンでさえ、12.10がリリースされたため、リリースが1つ遅れています...

だからあなたの質問のタイトルは間違っています。お使いのバージョンは、Ubuntu 12.04 の一部であるバージョンとして正しくインストールされています。 今は理にかなっていますか?

ここで、CRAN から Rcpp をインストールするinstall.packages()と、rgl と同じように現在のバージョンが取得されます。

(そして、ビルド前の .deb パッケージとして両方を持っている可能性が高いランチパッドにも PPA があります。)

最後に、前に説明したように、パス/usr/lib/R/site-libraryr-cran-*.deb ファイルとしてインストールするパッケージのパスであり/usr/local/lib/R/site-library、R 自体からのローカル インストールのパスです。その分割のため、その出力はold.packages()以前のパスから駆動されます。たとえば/usr/lib/R/site-library、ディストリビューション (ここでは Ubuntu) によって管理されているため、背後にバインドされます。コンポーネントの安定性のためにディストリビューションを選択しました。また、.NET の CRAN パッケージで自由に拡張できます/usr/local/lib/R/site-library。そして、それは間違いなく機能です。

私のUbuntuボックスからこれを目撃してください:

R> old.packages(lib.loc="/usr/local/lib/R/site-library/")
NULL
R> 
于 2012-12-23T23:24:50.250 に答える