web-dev-qa-db-ja.com

Windows 7、update.packagesの問題:「一時インストールを移動できません」?

ユーザーにRフォルダーへの完全な特権を与えた後、Windows 7でR 2.13.0を使用しています( here )。これにより、新しいパッケージを問題なくインストールできます。

ただし、update.packages()を使用して既存のパッケージを更新すると、次のエラーが引き続き表示されます(たとえば、MASSパッケージの更新時)。

パッケージ「MASS」が正常に解凍され、MD5合計がチェックされました

警告:一時インストールを移動できません 'C:\ Program Files\R\R-2.13.0\library\file6cae3bcf\MASS'を 'C:\Program Files\R\R-2.13.0\library\MASS '

これを修正する方法に関する提案はありますか?

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

74
Tal Galili

実際に問題は、ウイルス対策の「リアルタイムファイルシステム保護」であることがわかりました。私は問題を解決するために次のことをします:

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

140行目(R 3.4.4の142行目)を編集します。

Sys.sleep(0.5)

に:

Sys.sleep(2)

アンチウイルスがパッケージtmp dirの作成を停止させているようです。 2秒に変更すると、エラーはなくなります。

編集:これをプログラムで実行するには

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

(クレジット@DavidArenburg)

103

みんなを更新するために、私は問題の原因を見つけた(と思う):antivirus

「リアルタイムファイルシステム保護」は、ダウンロードされたRがフォルダー間でファイルをコピーするのをブロックしていました。 Rディレクトリを例外リストに追加すると(ユーザー権限の追加とRのD:\ Rへのインストールと連動)、問題はなくなりました。このすべての作業で、Linuxに切り替えることもできます(実際に...)

(上記の情報で投稿を更新しました: http://www.r-statistics.com/2011/04/how-to-upgrade-r-on-windows-7/

将来、誰かの助けになることを願っています、タル

64
Tal Galili

たとえば、企業ポリシーのためにウイルス対策をオフにできない場合、私が見つけた回避策があります。 unzipパッケージ機能をデバッグしてからステップ実行すると、ウイルス対策ソフトウェアが干渉することなくジョブを実行するのに十分な時間を確保できます。次のコマンドを使用します。

debug(utils:::unpackPkgZip)
install.packages("packageName")

そして、インストール中にRがデバッグを開始したら、コードをステップ実行します(Enterキーを何度も押します)。

私はこの解決策を見つけました こちら

41
Sheldon

CRANから直接バイナリをダウンロードできる場合。 Windowsでは、ダウンロード時にZipファイルになります。これを手動でRの..library /フォルダーに解凍します(.libPaths())。いくつかのパッケージでうまくいきました。

14
xiaodai

Swirlとdplyrの両方をインストールするときにこの問題が発生しました。 Windows 64ビットで作業しています。

警告:一時インストールを移動できません

私がやったことは、C:ドライブの一時ファイルにアクセスし、ファイル抽出プログラムを開いて、C:ドライブの一時ファイルからC:ドライブのRプログラムファイルにファイルを手動でコピーして抽出したことです。 。これは、dpylrとswirlの両方で機能しました。 okった!

乾杯、

7
Hanna Peach

Lib.locパラメーターを使用して、個人ライブラリー(ユーザー内)のパッケージのみを更新することはできませんか?通常の、拡張されていないユーザーがプログラムファイルフォルダー内のファイルを変更できるようにする方法はないはずです。そのため、(ユーザーを拡張したくない場合)できることは、Rでパッケージを更新しないことです。

回避策は、プログラムファイルフォルダーにRをインストールしないようにすることです(視点によっては、ライブラリーの場所を単に移動するよりも、多少ハッキングされる可能性があります)。

最後に、lib.locがそれをカットしない場合、update.packagesのソースコードを見て、プログラムファイル内の共通ライブラリの場所を常に回避する独自のカスタマイズバージョンを作成できます。

2
Nick Sabbe

私はちょうど同じ質問に答えましたが、私が見つけた解決策は、元のRソフトウェアを使用してパッケージをインストールする必要があることです(さらに、正しいミラーサイトを選択する必要があり、それらの一部はブロックされます)。最初にRstudioを使用してパッケージをインストールしましたが、あなたが出会ったのと同じ問題がありました。これが役に立てば幸いです。

2
Yang

ライブラリフォルダー(Windows XP)に移動し、すべてのfileXXXXフォルダーを削除しました。インストールを再実行し、動作します。

1
rocketScientist

このエラーに何度か遭遇しました。私の場合、管理者がファイルにリモート仮想ディスク(Windows 7)を使用することを望んでおり、すべてがドラムのようにしっかりとロックされているためです。 Rパッケージを使用できる唯一の方法は、そのリモート仮想ディスクのlibディレクトリにあります。ネットワークが常にスムーズで高速であるとは限らないことを除いて、これは問題にはなりません。したがって、パッケージが必要な場合、特にいくつかの他のパッケージ(MBESSなど)が含まれるパッケージが必要な場合は、get.packages()プロセスを最終的に完了するまで複数回実行するか、ITの頭痛の種になります私のバニー。私はいつもITを待つことができません。

1
Bryan

「一時インストールを移動できません」というエラーは、システムで実行されているウイルス対策が原因で発生しています。ダウンロードしたファイルをTempフォルダーからデフォルトのライブラリパスに解凍してみてください(Rセッションで.libPaths()を実行することで取得できます)。

0
AnksG

私はMRANを使用していますが、バージョン管理に多くの問題がありました。 tidyverseとggplot2を使用して、Microsoftから最新バージョンにアップグレードすることで、R-Studioのバージョン管理の問題をすべて解決できました。

バージョン情報:

Microsoft R Open 3.5.1
The enhanced R distribution from Microsoft
Default CRAN mirror snapshot taken on 2018-08-01.

Microsoft R Open 3.5.1をダウンロード

0
Paul Hegel

同じ問題がありました。問題はダウンロードされたファイルのtransfをブロックするアンチウイルスであると思われるため、install.packagesで別のダウンロード方法を試してみましたが、うまくいきました。

例えば:

install.packages("stringr", method = "curl")
0
Eduardo Leoni

Rフォルダーのプロパティに移動して、セキュリティパラメーターを変更する必要があります。すべてのユーザーに対して書き込みおよび変更のオプションを有効にすることができます。

0