2015-09-22 15 views
5

マイrjsonパッケージがランダムに動作しませんが。のように、うまく動作することもありますが、ロードに失敗することもあります。理由は分かりません。「ライブラリでエラーが発生しました(rjson):rjsonと呼ばれる全くパッケージがありません」

このエラーが発生します。試してみて、そのインストールが知っているにもかかわらず、これを緩和するために

 Error in library("rjson") : there is no package called ‘rjson’ 

は、私は私のスクリプトでインストール行を追加しました。

install.packages("rjson", repos="http://cran.rstudio.com/") 
    library(rjson) 

今、私は

は 'C:/Users/Tom/Documents/R/win-library/2.15' 内にパッケージをインストールする....得る 'LIB' は指定されていないよう ( ) しようとしてURL 'http://cran.rstudio.com/bin/windows/contrib/2.15/rjson_0.2.13.zip' コンテンツタイプ 'アプリケーション/ジップ' 長さ491848バイト(480 KB) 開くURL 480 KB

パッケージ 'rjson' が正常に解凍され、MD5の合計をダウンロードし 警告を確認:前installatを削除することはできませんパッケージのイオン 'rjson'

ダウンロードしたバイナリパッケージは Cである: - >ロード私は「パッケージに行くとき\ Users \ユーザートム\のAppData \ローカル\ Tempに\ RtmpiOfTqK \は、Rで

をdownloaded_pa​​ckages "何らかの理由でrjsonは存在しません。たとえそれが働いたとしても、それは決してなかった。私は...に

C naviagedまし

:私はrjsonのフォルダを確認することができます\ Users \ユーザートム\ドキュメント\ R \ WIN-ライブラリ2.15

\があります。

何をすべきか分かりません。

+2

をこれは非常に典型的です老人の、または少なくともそれは私にかなりの数回起こった。古いパッケージを削除(フォルダを削除)し、 'install.packages( 'rjson')'を使って再インストールすれば動作します。 – LyzandeR

+0

完璧に働きました、良いアイデア。ありがとう! – Jibril

+0

Np、私が助けることができてうれしい:)。それは何度も私に起こりました、そして、私はそれがかなり迷惑であると言うことができます。私はそれが将来誰かを助ける場合に備えて答えとして投稿します。あなたが好きなら、自由に受け入れてください。 – LyzandeR

答えて

5

これは私にとってかなりの間起こりました。これは通常、すでにインストールされているパッケージの新しいバージョンをインストールしようとすると起こります(それはまれに起こる可能性があります)。

私が今までに見つけた解決策は、ライブラリパス、つまりパッケージがインストールされているマシン上の場所に戻ることです(C:\Users\user_name\Documents\R\win-library\R_versionがWindowsのデフォルトパスです)。対応するパッケージフォルダを削除してから、パッケージを通常通り使用してください:

install.packages('rjson') 

これはうまくいくはずです。

それともあなたも@Thomasのあたりのコメントとして、プログラムでそれを行うことができます:

#get list of installed packages 
inst_packages <- installed.packages() 

if ("rjson" %in% inst_packages[, 1]) { 
    #uninstalls package 
    remove.packages("rjson") 
    #re-installs package 
    install.packages("rjson") 
} 

またはより良いだけの使用:あなたが一番上に新しいバージョンをインストールするときに

if ("rjson" %in% inst_packages[, 1]) update.packages("rjson") 
+0

これはプログラムによっても実現できます: 'if(" rjson "%in%x [、" Package "]){remove.packages(" rjson "); ( "rjson")update.packages( "rjson") ' – Thomas

+0

それはさらに良いです@トーマスありがとうございます。私はそれを私の答えに加えます。 – LyzandeR

関連する問題