Rvm Ruby 权限被拒绝

33

我已经为多用户安装了rvm,

但是当我进行bundle install时,出现了错误提示。

linux:/var/rails_apps$ bundle install
ERROR: RVM Ruby not used, run `rvm use ruby` first.        

linux:/var/rails_apps$ rvm use ruby
mkdir: cannot create directory `/usr/local/rvm/log/ruby-2.0.0-p247': Permission denied

我已经完成了。

sudo chmod 777 /var/rails_apps/
请提出建议...

它给了我“sudo:rvm:命令未找到”错误。 - Ashwini
你可能使用sudo安装了RVM。尝试以下方法: https://dev59.com/wGLVa4cB1Zd3GeqPtR1M - Marek Lipka
是的,我已经使用sudo和以下命令user$ \curl -L https://get.rvm.io | sudo bash -s stable通过rvm进行了安装。参考网址为http://rvm.io/rvm/install。 - Ashwini
在执行rvm use命令时,切勿使用sudo,因为sudo会改变进程,而rvm use的目的是更改当前进程环境。 - mpapis
4个回答

92
你有一个多用户安装的 rvm - 这并不推荐,因为你可能会遇到一些问题(比如你现在遇到的问题)。
既然你已经这样做了,那么以下方法可以解决问题:
rvmsudo rvm get stable --auto-dotfiles
rvm fix-permissions system

同时确保您已经在rvm组中 - 如果没有,请将自己加入:

rvm group add rvm $USER

并登录到一个新的 shell(退出并重新登录)。


2
谢谢!对我来说,rvm fix-permissions就足以解决Permission denied @ rb_sysopen的问题。 - Nic Cottrell
对我来说,rvm fix-permissions system起了作用,谢谢。 - Rohan Daxini
2
如果您只关心单个用户的权限,则可以执行“rvm fix-permissions”。以下是该命令的自述文件:https://github.com/rvm/rvm/blob/master/help/fix-permissions.md - AMB
13
在我的情况下,我还需要运行 rvm fix-permissions user,请查看 @alli 给出的链接。 - mlabarca
11
对于我的Ubuntu系统,实际有效的方法是:运行 rvm fix-permissions system; rvm fix-permissions user - Eric
啊,谢谢你,这也是我在 Fedora 上解决问题的方法。 - Stephan

4
在大多数情况下,rvm fix-permissions可以解决单个用户访问的问题,但在执行其他rvm命令时,有时会失败。因此,在执行fix-permissions命令后,请连续使用rvmsudo命令。
rvm fix-permissions

rvmsudo rvm use ruby

1
对于那些在运行每个线程共享的命令后可能遇到问题的人,请尝试以管理员身份打开您正在使用的Ubuntu或Linux环境。
1- 使用计算机屏幕底部的搜索栏搜索您的应用程序(在我的情况下是Ubuntu)。
2- 如果您没有在右侧看到“以管理员身份打开”的选项,则右键单击应用程序图标,然后您应该就会看到它。
3- 当提示允许应用程序在您的计算机上进行更改时,请允许并再次尝试安装命令。
4- 如果这样做不起作用,请尝试在此或其他帖子中共享的命令,但始终要以管理员身份运行。

0
这个命令在我的Fedora 38上修复了错误:
rvmsudo rvm get stable --auto-dotfiles

rvm fix-permissions system

rvm fix-permissions user

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接