2013-01-25 9 views
5

WindowsにRcppパッケージをインストールする場合は、新しいDLLをコピーするときに、パッケージDLLがアンロードされているか、 "Permission Denied"エラーが発生していることを確認する必要があります。これは、すべての再コンパイル時にRを再起動することを意味します。これはかなり面倒です。 Rを強制終了せずにパッケージDLLをアンロードする方法はありますか?Rを再起動せずにRcppパッケージDLLをアンロードできますか?

私はdetach("package:my_package", force=TRUE)コマンドを試しましたが、DLLをアンロードしませんでした。

答えて

3

あなたが(パッケージを再インストールして、Rをリロードは非常に簡単になりますRStudioを使用せずに、)あなたのメインのRセッションでこれを実行したい場合は、デベロッパーツールを使用することができます。とりわけ

library(devtools) 
load_all("path/to/my/package") 

load_all意志すべてのRコードをリロードし、DLLを再コンパイルして再接続します。

4

DLLをアンロードするにはlibrary.dynam.unloadを実行する必要があります。

6

意見が分かれています。私はしばしば、R CMD INSTALLRscript(または、freshmeat_linux/Linux]でrコールをlittlerから呼び出す)を連鎖させて、新しいビルドをテストすることで、メインのRセッションの外でビルドとテストを実行する方が好きです。 R CMD INSTALL ...に適切なオプションを使用して、余分な時間を要する可能性のある部品をスキップすると、迅速な処理が得られ、新鮮なビルドを得ることができます。

ボタンをクリックして同じ動作をしたい場合は、RStudioもボタンを提供します。

関連する問題