R 3.4.1"单烛"个人库路径错误:无法创建'NA'

Bio*_*e12 41 r linux-mint ubuntu-16.04

我刚刚在我的Linux Mint 18.1 Cinnamon机器上更新到R(3.4.1"单烛"),我试图安装一个包.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’
Run Code Online (Sandbox Code Playgroud)

我之前遇到过'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 
Run Code Online (Sandbox Code Playgroud)

个人图书馆建议NA的任何想法?有没有办法手动覆盖这个?

arc*_*uz0 12

我不知道是什么导致了这个问题(我也在Ubuntu 16.04上遇到过它),但是这里有一个快速的解决方法:

.libPaths(c("/home/your_username/R/x86_64-pc-linux-gnu-library/3.4/", .libPaths()))
Run Code Online (Sandbox Code Playgroud)

当然,您可以替换"/home/your_username/..."任何其他目录(将存储您的个人库).

这个解决方案制作install.packages()library()工作.等待全面修复!

编辑:我应该注意,这个解决方案并不持久.也就是说,它在重新启动R后不会持续.您可以通过向/home/your_username/.Rprofile文件添加上述相同代码行来解决此问题.


Phi*_*hil 12

查看@Dirk评论中的详细信息(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866768),这是一种计划行为,因此系统的所有用户都会安装一次软件包.

解决方案是/usr/local/lib/R/为所有用户创建可写,而不是为每个用户重新设置拥有个人包库的旧行为.

打开终端并:

  • 导航到/usr/local/lib/cd /usr/local/lib/
  • 更改所有者:组,以便所有用户都可以写入该文件夹.我碰巧在我的计算机上有一个所有用户都是其成员的组,所以我使用了它,但请参阅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,您应该能够将软件包安装到此共享位置.


pot*_*kan 10

我的解决方案如下:

在文件中/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'}
Run Code Online (Sandbox Code Playgroud)

我没有注释R_LIBS_USER=${R_LIBS_USER-'~/R/x86_64-pc-linux-gnu-library/3.4'},重新启动RStudio现在它的工作原理.

编辑:看看评论,这似乎是一个计划的行为.是另一种解决方案.


MYa*_*208 3

2017 年 7 月 8 日之后,这将解决所有问题

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

  • 这需要更多细节。基本上,“r-base-core 3.4.1-2”的发布解决了这个问题。 (2认同)