web-dev-qa-db-ja.com

Rパッケージのインストールエラー

「MASS」パッケージをインストールできません。

> library(MASS)
Error in library(MASS) : there is no package called ‘MASS’

ローカルからMASSパッケージをインストールしようとしました:

> utils:::menuInstallLocal()  
package ‘MASS’ successfully unpacked and MD5 sums checked  
Warning: cannot remove prior installation of package ‘MASS’

「MASS」も削除できません。

> remove.packages("MASS")  
Removing package from ‘C:/Program Files/R/R-3.0.1/library’  
(as ‘lib’ is unspecified)  
Error in find.package(pkgs, lib) : there is no package called ‘MASS’

また、このオプションではパッケージをインストールできませんでした:

> options(install.lock=T)  
> utils:::menuInstallLocal()  
package ‘MASS’ successfully unpacked and MD5 sums checked  
Warning: cannot remove prior installation of package ‘MASS’  
Warning: restored ‘MASS’  
Warning message:  
In file.copy(savedcopy, lib, recursive = TRUE) :  
  problem copying C:\Program Files\R\R-3.0.1\library\00LOCK\MASS\libs\x64\MASS.dll to C:\Program Files\R\R-3.0.1\library\MASS\libs\x64\MASS.dll: Permission 

そして、install.packagesを使用すると:

> install.packages("C:\\MASS_7.3-35.Zip",repos=NULL)
package ‘MASS’ successfully unpacked and MD5 sums checked  
Warning: cannot remove prior installation of package ‘MASS’  
Warning: restored ‘MASS’  
Warning message:  
In file.copy(savedcopy, lib, recursive = TRUE) :  
  problem copying C:\Program Files\R\R-3.0.1\library\00LOCK\MASS\libs\x64\MASS.dll to C:\Program Files\R\R-3.0.1\library\MASS\libs\x64\MASS.dll: Permission 

RをORE(Oracle R Enterprise)で使用することに言及する必要があります。

43
parvij

ここでいくつかのことが起こる可能性があります。最初にライブラリの場所を把握することから始めます。

Sys.getenv("R_LIBS_USER")

あなたが与えた情報からあなたのものをすでに知っています:C:\ Program Files\R\R-3.0.1\library

00LOCKというファイルがあると思います。 ?install.packagesから:

パッケージのインストールが非常にひどく失敗して、ロックディレクトリが削除されない可能性があることに注意してください:これにより、ロックディレクトリが手動で削除されるまで、ライブラリディレクトリ(またはパッケージの--pkglock)への追加インストールが禁止されます。

そのファイルを削除する必要があります。 pacmanパッケージがインストールされている場合は、p_unlock()を使用するだけで済み、00LOCKファイルは削除されます。 00LOCKファイルが削除されるまで、pacmanをインストールできません。

pacmanをインストールするには、次を使用します。

install.packages("pacman")

2番目の問題がある可能性があります。これは、何らかの形でMASSを破損した場所です。これは、私の経験では、別のRセッションで使用中のパッケージを更新しようとすると発生する可能性があります。これを引き起こす他の方法もあると確信しています。この問題を解決するには、次を試してください。

  1. すべてのRセッションを終了します(タスクマネージャーを使用して、Rセッションが完全に空いていることを確認します) Ctrl + Alt + Delete
  2. ライブラリの場所Sys.getenv("R_LIBS_USER")に移動します。あなたの場合、これは:C:\ Program Files\R\R-3.0.1\library
  3. MASSパッケージを手動で削除します
  4. Rのバニラセッションを起動する
  5. install.packages("MASS")経由でMASSをインストールします

これが機能する場合は、何が機能したかを教えてください。

70
Tyler Rinker

E1071パッケージでも同じ問題が発生しました。並行して実行されている他のRセッションを閉じるだけで、準備完了です。

23
derp92

Guannan Shenが示した解決策には、通常は気付かれない欠点が1つあります。 (Guannan Shen、私はあなたにリンクしようとしたか、あなたが投稿しようとしましたが、できませんでした。)

install.packages()をスーパーユーザーとして実行するためにSudo Rを実行すると、ライブラリをインストールするディレクトリは、スーパーユーザーであるrootユーザーに属します。

したがって、次回ライブラリを更新する必要があるとき、Sudoを実行したことを覚えていないため、rootをファイルとディレクトリの所有者のままにしておきます。誰もrootを上書きできないため、ファイルを移動しようとすると最終的にエラーが発生します。

実行することで回避できます

Sudo chown -R yourusername:yourusername *

ローカルライブラリを含むlibディレクトリで、yourusernameをインストールの適切な値に置き換えます。その後、もう一度インストールしてみます。

2
Marcelo Ventura

install.packages()で間違った引用符文字を使用した後、引用符を修正すると、「以前のインストールを削除できません」というエラーが発生しました。 Rを閉じて再起動しました。

1
user4997135

私の場合、nlmeパッケージのインストールに問題があります。

mv: cannot move '/home/guanshim/R/x86_64-pc-linux-gnu-library/3.4/nlme' 
to '/home/guanshim/R/x86_64-pc-linux-gnu-library/3.4/00LOCK-nlme/nlme': 
Permission denied

buntu 18.04を使用して、 CTRL+ALT+T ターミナルウィンドウを開くには:

Sudo R
install.packages('nlme')
q()
0
Guannan Shen

私の場合、Rセッションを閉じて、すべてのパッケージを再インストールする必要がありました。そのセッションで私は大きなテーブルを使って作業しましたが、これは効果があるのではないかと思います。

0
JelenaČuklina