web-dev-qa-db-ja.com

ライブラリは書き込み不可です

UbuntuマシンにRバージョン3.0.2(2013-09-25)でパッケージをインストールすると、この問題が発生します。

install.packages("randomForest")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  'lib = "/usr/local/lib/R/site-library"' is not writable

解決方法

40
Priya

Rバージョン3.2.2(2015-08-14)の場合、Rはインストールプロセス内でRライブラリを保存する別のパスを提案するため、この問題に対処する必要があります。インストールは次のようになります:(ここでは「ランダム」がサンプルパッケージとして使用されます)

install.packages('random')

Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages("random") :
'lib = "/usr/local/lib/R/site-library"' is not writable

Would you like to use a personal library instead?  (y/n) y

Would you like to create a personal library
~/R/pc-linux-gnu-library/3.2
to install packages into?  (y/n) y

したがって、インストール中に「y」で両方の質問に答えると、パッケージが正しくインストールされます。

18/01/19更新

Rパッケージを追加ファイルに保存したくない場合:

Antoine-Sac および Robert TheSim として、 'site-library'に書き込むことができるように、スタッフグループに自分を追加することができます。 (重要な追加を見るには名前をクリックしてください)

この更新の前に、このコメントで、「chmod o + w」を使用して書き込みできるようにするために、「site-library」フォルダの許可を変更するオプションについて言及しました。セキュリティの問題を想定しているが、その時点ではわからないが、私はそれについて警告したが、主にそれを解決するために誰かを待っていた。アントワーヌ・サックとロバート・ザシム そのようにした その間。ありがとう!

44
manuel_va

「スタッフ」というグループに自分を追加します

Sudo usermod -a -G staff your_user_name

your_user_nameをログインユーザー名に置き換えてから、ログオフして再ログインします。

セキュリティ違反およびbtwであるchmod 777を使用しないでください。完全なナンセンス!!!

7
Robert TheSim

それはまさにそれが言うことを意味します。そのフォルダには書き込み権限がありません。 そのフォルダの権限を変更する 、または Rライブラリの場所を変更する のいずれかが必要です。

5
shadowtalker

Windowsを使用している場合、R(またはRStudio)を管理者として実行できます。

Rを閉じてから、RまたはRStudioアイコンに移動し、右クリックして「管理者として開く」。それは完全に機能し、パッケージのインストール中のすべてのエラーメッセージは永久に消えます。

3
Seyi Ajao

複数のパッケージでinstall.packages()を使用した人

install.packages("vcd","vcdExtra","plyr")

そして、同じ警告を得ました:

Warning in install.packages :
  'lib = "vcdExtra"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) cancel
Error in install.packages : unable to install packages

インストールそれぞれ個別に私のために働いた

install.packages("vcd")
install.packages("vcdExtra")

または、パッケージ名をベクターに入れます:

install.packages(c("vcd","vcdExtra","plyr"))
1
BanAnanas

問題は、デフォルトのインストール場所が書き込み権限を持たない場所であるということです。

解決策は、書き込み権限があるインストール場所を使用することです。

具体的に、次のコマンドを使用して、特別な権限を必要とせず、自動的に検出される場所に個人用ライブラリフォルダーを作成することをお勧めします次回Rを起動するとき:

dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE)  # create personal library
.libPaths(Sys.getenv("R_LIBS_USER"))  # add to the path

install.packages("randomForest")  # install like always
library(randomForest)  # use library like always

dir.create への呼び出しは、 this faq の提案に従い、Sys.getenv("R_LIBS_USER")に従って名前が付けられたフォルダーを作成します。これは、Rの次の起動時に検出されるため、特別な場所を指定せずにinstall.packagesおよびlibraryを使用できるため、適切な選択です。 .libPaths 関数呼び出しを使用すると、新しいフォルダーをライブラリパスにすぐに追加して、Rの再起動を回避できます。最初の2行は、個人用ライブラリをまだ作成していない場合にのみ必要ですが、それらを繰り返し実行しても害はありません。その後、パッケージのインストールとライブラリの使用を通常どおりに実行できます。

0
user3780389