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を提案している理由はありますか?これを手動で上書きする方法はありますか?
2017年7月8日以降、これによりすべての問題が解決されます
Sudo apt-get update
この問題の原因はわかりませんが(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
_ファイルに追加します。
@Dirkのコメントで詳細を見る( https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866768 )これは、パッケージがインストールされるように計画された動作ですシステムのすべてのユーザーに対して1回。
解決策は、個々のユーザーごとに個人用パッケージライブラリを使用するという以前の動作を復元するのではなく、/usr/local/lib/R/
をすべてのユーザーが書き込み可能にすることです。
ターミナルを開いて:
/usr/local/lib/
でcd /usr/local/lib/
に移動しますSudo chown owner:group -R R/
を使用します。 owner
は任意のユーザーであり、問題ではありません。 group
が重要です。システムでRを使用したい人がこのグループのメンバーであることを確認してください。 -R
は再帰的です(つまり、R/
内のすべてのファイルとフォルダーに対して実行します)。chmod -R 775 R/
を使用します。これにより、所有者とグループに読み取り、書き込み、実行のアクセス許可が与えられ、他のすべてのユーザーには読み取りと実行のアクセス許可が与えられます。Rを再起動すると、この共有場所にパッケージをインストールできるはずです。
私の解決策 は次のとおりでした:
ファイル/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:コメントを見ると、計画的な行動のようです。 ここ は別のソリューションです。
これは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'}
いくつかの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が存在するパーティションのディスク領域が少なすぎるか、遅いドライブにある可能性があります。