2016-10-05 9 views
2

に個人的なライブラリーを作成し、デフォルトのライブラリパスへのアクセス権を持っていない、Rはあなたを尋ねてきます。自動的にRパッケージをインストールしようとするとR

は、あなたが個人的に使用したいです代わりにライブラリ?

パッケージをインストールするための '〜/ path'という個人用ライブラリを作成しますか?

ただし、Rscriptを実行している場合、これらのメッセージは表示されず、インストールは失敗します。私は特定のパスを事前に定義してinstall.packagesに指示することができますが、このRscriptに固有の追加のライブラリパスを作成したくありません。私はちょうどデフォルトのパーソナルライブラリを使いたいと思う。インタラクションを必要とせずに個人の図書館を強制的に作成する方法はありますか?

+1

'.libPaths()'を更新しますか? – zx8754

+0

@ zx8754とは何ですか? – burger

+4

あなたは 'help("。libPaths ")'を完全に読んで、 'install.packages'の助けを借りてください。 _ "ライブラリ検索パスは起動時に環境変数' R_LIBS'(Rライブラリツリーがルートされるコロンで区切られたディレクトリのリストでなければなりません)に続いて環境変数 'R_LIBS_USER'のものに続いて初期化されます。デフォルトで 'R_LIBS'は設定されておらず、' R_LIBS_USER'はホームディレクトリのディレクトリ ''R/R.version $ platform-library/x.y''に設定されています。 Rxyz'_ – hrbrmstr

答えて

3

Sys.getenv("R_LIBS_USER")を使用すると、ローカルライブラリの検索場所を取得できます。

これは、(問題は、あなたがパッケージをインストールしようと最初に発生したため、最も難しい部分は、ソリューションをテストしていた)動作しているようだこれは、私がやってしまったものです:

# create local user library path (not present by default) 
dir.create(path = Sys.getenv("R_LIBS_USER"), showWarnings = FALSE, recursive = TRUE) 
# install to local user library path 
install.packages(p, lib = Sys.getenv("R_LIBS_USER"), repos = "https://cran.rstudio.com/") 
# Bioconductor version 
biocLite(p, suppressUpdates = TRUE, lib = Sys.getenv("R_LIBS_USER")) 

として@hrbrmstrはコメントで指摘したように、パッケージを強制的にインストールするのは良い考えではないかもしれないので、自己責任で使用してください。

関連する問題