プロジェクトごとにライブラリのインストールするpathを変更したかったのでメモ。
$ tree
.
└── library
> .libPaths()
[1] "/Users/ysk24ok/Library/R/3.4/library"
[2] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library"
1. install.packages
のlib引数を指定する
> install.packages("dplyr", lib="./library")
install.packages
を実行するたびに引数を指定する必要がある。
2. .libPaths
に指定する
> .libPaths("./library")
> .libPaths()
[1] "/Users/ysk24ok/testr/library"
[2] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library"
> install.packages("dplyr")
.Rprofile内であらかじめ指定しておけば引数無しでinstall.packages
を実行できるので便利。
注意
.Rprofile内で.libPaths("./library")
と指定していても、
R CMD INSTALL
で自作ライブラリなどをインストールする場合、
依存ライブラリの参照先として/Users/ysk24ok/testr/library
は見ないため以下のようなエラーが出る
(インストール先は/Users/ysk24ok/testr/library
になっている)。
$ R CMD INSTALL IPinYouExp
Error in loadNamespace(name) : there is no package called 'roxygen2'
Calls: :: ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
ERROR: configuration failed for package ‘IPinYouExp’
* removing ‘/Users/ysk24ok/testr/library/IPinYouExp’
この場合、R_LIBS_USER
にパスをセットする。
$ R_LIBS_USER=/Users/ysk24ok/testr/library R CMD INSTALL IPinYouExp