web-dev-qa-db-ja.com

R 3.4.1「シングルキャンドル」パーソナルライブラリパスエラー:「NA」を作成できません

Linux Mint 18.1 CinnamonマシンでR(3.4.1 "Single Candle")にアップデートし、パッケージをインストールしようとしました。 Rは以下を返しました。

> install.packages('ggplot2')
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages("ggplot2") :
  '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
NA
to install packages into?  (y/n) y
Error in install.packages("ggplot2") : unable to create ‘NA’

私は以前に「lib not writable」出力に遭遇しましたが、通常は次のような解決策を提供します:

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

パーソナルライブラリがNAを提案している理由はありますか?これを手動で上書きする方法はありますか?

41
Biolife12

2017年7月8日以降、これによりすべての問題が解決されます

Sudo apt-get update
3
MYaseen208

この問題の原因はわかりませんが(Ubuntu 16.04でも発生しています)、簡単な回避策を次に示します。

_.libPaths(c("/home/your_username/R/x86_64-pc-linux-gnu-library/3.4/", .libPaths()))
_

もちろん、_"/home/your_username/..."_を別のディレクトリ(個人用ライブラリを格納する)に置き換えることができます。

このソリューションは、install.packages()およびlibrary()を機能させます。完全な修正を待っています!

編集:私はこのソリューションが永続的ではないことに注意する必要があります。つまり、Rを再起動した後は持続しません。これを修正するには、上記と同じコード行を_/home/your_username/.Rprofile_ファイルに追加します。

12
arcruz0

@Dirkのコメントで詳細を見る( https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866768 )これは、パッケージがインストールされるように計画された動作ですシステムのすべてのユーザーに対して1回。

解決策は、個々のユーザーごとに個人用パッケージライブラリを使用するという以前の動作を復元するのではなく、/usr/local/lib/R/をすべてのユーザーが書き込み可能にすることです。

ターミナルを開いて:

  • /usr/local/lib/cd /usr/local/lib/に移動します
  • Owner:groupを変更して、すべてのユーザーがフォルダーに書き込みできるようにします。私のコンピューターには、すべてのユーザーがメンバーとなっているグループがあるので、それを使用しましたが、 https://askubuntu.com/questions/66718/how-to-manage-users-and-)を参照してください。 groups 必要に応じてグループを設定するためのヘルプ
  • 所有権を変更するには、Sudo chown owner:group -R R/を使用します。 ownerは任意のユーザーであり、問​​題ではありません。 groupが重要です。システムでRを使用したい人がこのグループのメンバーであることを確認してください。 -Rは再帰的です(つまり、R/内のすべてのファイルとフォルダーに対して実行します)。
  • グループの権限を変更する必要がある場合は、chmod -R 775 R/を使用します。これにより、所有者とグループに読み取り、書き込み、実行のアクセス許可が与えられ、他のすべてのユーザーには読み取りと実行のアクセス許可が与えられます。

Rを再起動すると、この共有場所にパッケージをインストールできるはずです。

12
Phil

私の解決策 は次のとおりでした:

ファイル/usr/lib/R/etc/Renviron Rの設定があります。

43〜45行目には次のようになります。

# edd Jun 2017  Comment-out R_LIBS_USER
#R_LIBS_USER=${R_LIBS_USER-'~/R/x86_64-pc-linux-gnu-library/3.4'}
##R_LIBS_USER=${R_LIBS_USER-'~/Library/R/3.4/library'}

コメントを解除しましたR_LIBS_USER=${R_LIBS_USER-'~/R/x86_64-pc-linux-gnu-library/3.4'}、RStudioを再起動すると、動作します。

EDIT:コメントを見ると、計画的な行動のようです。 ここ は別のソリューションです。

10
potockan

これはR 3.4.1のバグである可能性があり、私の解決策は

R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:/usr/lib/R/site-library:/usr/lib/R/library'} 

/etc/R/Renvironファイルに

R_LIBS_SITE=${R_LIBS_SITE-'~/R/x86_64-pc-linux-gnu-library/3.4.1:/usr/local/lib/R/site-library:/usr/lib/R/site-library:/usr/lib/R/library'}
0
zefeng wu

いくつかのBioconductorパッケージのインストール手順を実行しているときにも同じことが起こりました。

その後、bashコマンドラインでこれ(または同様の)を記述できることにも気付きました。

_export R_LIBS_USER=$HOME/R/x86_64-pc-linux-gnu-library/3.4 && R_

または

_export R_LIBS_USER=$HOME/R/x86_64-pc-linux-gnu-library/3.4 && rstudio_

次に、R内でupgrade.packages()(またはinstall.packages()、またはbiocLite())を実行します。

このように、変更は一時的なものであり、構成ファイルを更新する必要はありません。

この.Renviron or。Rprofile`のコマンドがRの起動時にR_USER_LIBSを別の場所に設定する場合(この設定を確認してください)、このシェルコマンドは役に立ちません。

$ HOME/R/x86_64-pc-linux-gnu-library/3.Xをそのまま使用することは、この場所にすでに多くのパッケージがある場合に、そこにアップグレード/インストールすることをお勧めします。私はそこに多くのBioconductorパッケージを持っています、そしてそれらを再度ダウンロードしたくありません、これらのパッケージのいくつかは、使用されると巨大な "Omics"データセットをダウンロードします。/usr/local/lib/Rが存在するパーティションのディスク領域が少なすぎるか、遅いドライブにある可能性があります。

0
knb