1. ホーム
  2. r

Windows 7、update.packagesの問題:"unable to move temporary installation"?

2023-09-07 03:51:38

質問

Windows 7 で R 2.13.0 を使用していますが、ユーザーに R フォルダへのフル権限を与えた後 ( ここで ). これにより、私は新しいパッケージをうまくインストールすることができます。

しかし、既存のパッケージを更新するために update.packages() を使用すると、次のようなエラーが発生し続けます (たとえば、MASS パッケージを更新する場合)。

パッケージ 'MASS' は正常に解凍され、MD5 サムがチェックされました。

警告 unable to move temporary installation 'C:\Program FilesR﹑R-2.13.0﹑library﹑file6cae3bcf﹑MASS' に移動しました。 to 'C:\Program Files\R\R-2.13.0\library\MASS'

これを修正する方法について何か提案はありますか?

p.s: 管理者として R を実行したり、ライブラリの場所を Program Files からずらしたりすることは、解決策にはなりません (これはハックです - しかし、私は解決策を探しています)。

どのように解決するのですか?

私は、問題は確かにアンチウイルス "real time file system protection" であることを発見しました。私は、問題を解決するために次のことを行います。

trace(utils:::unpackPkgZip, edit=TRUE)

140行目(R 3.4.4では142行目)を編集しています。

Sys.sleep(0.5)

になります。

Sys.sleep(2)

ウイルス対策でパッケージのtmpディレクトリの作成が滞っているようなのです。2秒に変更したら、エラーはなくなりました。

編集: プログラムでこれを行うには、以下を実行します。

trace(utils:::unpackPkgZip, quote(Sys.sleep(2)), at = which(grepl("Sys.sleep", body(utils:::unpackPkgZip), fixed = TRUE)))

(credits @DavidArenburg)