Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby rvm组无法写入目录_Ruby_Permissions_Rvm - Fatal编程技术网

Ruby rvm组无法写入目录

Ruby rvm组无法写入目录,ruby,permissions,rvm,Ruby,Permissions,Rvm,我最近刚刚安装了rvm,我正在尝试使用以下方式安装ruby版本: rvm install ruby-1.9.1 我得到了一系列的错误,这些错误似乎是由以下原因引起的: Fetching yaml-0.1.4.tar.gz to /usr/share/ruby-rvm/archives .... Warning: Failed to create the file yaml-0.1.4.tar.gz: Permission denied 所以,我看一下目录/usr/share/ruby-rvm

我最近刚刚安装了rvm,我正在尝试使用以下方式安装ruby版本:

rvm install ruby-1.9.1
我得到了一系列的错误,这些错误似乎是由以下原因引起的:

Fetching yaml-0.1.4.tar.gz to /usr/share/ruby-rvm/archives
....
Warning: Failed to create the file yaml-0.1.4.tar.gz: Permission denied
所以,我看一下目录/usr/share/ruby-rvm/archives的权限。看起来是这样的:

drwxrwsr-x   24 root rvm  4096 2012-02-26 13:29 archives
好的。因此,我加入了rvm组:

sudo usermod -G rvm jarrett
然后再试一次。没有骰子,我也会犯同样的错误。然后我试试这个:

sudo usermod -a -G rvm jarrett
还是不行。因此,我将/usr/share/ruby rvm组更改为jarrett:

sudo chgrp -R jarrett /usr/share/ruby-rvm
现在它工作得很好


所以,我的问题是:到底为什么rvm组不工作?

问题是在更改用户组后需要重新登录

您可以使用
id
验证用户是否分配了组


这是组的基本问题之一,它们在登录时被处理,然后从第一个程序继承(如图形会话)。要使给定的权限生效,您需要关闭所有以前打开的程序(注销),然后再次打开它们(登录)。

ohhh..真是个麻烦事。谢谢你@Jarrett,另一种重新登录的方法是运行命令
su-Jarrett
(在您的例子中)并输入密码。然后rvm将在这个终端工作。