Linux Mint 17.3执行rvm requirements报错的解决求助
解决Linux Mint 17.3下RVM权限问题的方案
咱先理清楚你遇到的问题根源:RVM安装后,/usr/local/rvm目录的所有权属于root,导致你以普通用户身份运行rvm requirements时没有权限创建日志目录;而用sudo时,root的shell环境没加载RVM的配置,所以找不到rvm命令,rvmsudo也因为用法不对报错。下面给你一步步的修复方法:
方法一:修复现有RVM目录权限
这是最快的解决方式,不用重新安装RVM:
首先把
/usr/local/rvm目录的所有权改成当前用户,运行:sudo chown -R $USER:$USER /usr/local/rvm这个命令会递归把目录下所有文件和子目录的所有者改成你当前登录的用户,这样你就有完整的读写权限了。
确保RVM在你的shell环境中正确加载:
打开你的shell配置文件(比如~/.bashrc或者~/.profile),检查里面有没有类似下面的行:source /usr/local/rvm/scripts/rvm如果没有,手动添加进去,然后运行下面的命令让配置生效:
source ~/.bashrc(如果是用
~/.profile就换成source ~/.profile)现在再运行
rvm requirements,应该就能正常执行了,不用加sudo或者rvmsudo。
为什么之前的尝试都失败了?
- 直接
rvm requirements:因为/usr/local/rvm是root权限,你普通用户没权限在里面创建日志目录,所以报Permission denied。 sudo rvm requirements:sudo切换到root后,root的shell默认不会加载你用户目录下的RVM配置脚本,所以系统找不到rvm命令。rvmsudo requirements:rvmsudo是用来让RVM管理的Ruby程序以sudo权限运行的,requirements并不是一个独立的系统命令,所以会提示找不到。
方法二:重新安装RVM到用户目录(彻底避免权限问题)
如果上面的方法还是不行,你可以把RVM重新安装到自己的用户目录下,这样就不会有任何权限冲突:
- 先卸载现有的RVM(可选,如果你想清理干净):
sudo rvm implode - 然后用普通用户身份重新安装RVM(不要加sudo):
\curl -sSL https://get.rvm.io | bash -s stable - 安装完成后,按照提示运行加载命令,比如:
source ~/.rvm/scripts/rvm - 之后再运行
rvm requirements就完全没问题了,因为整个RVM都在你的用户目录下,权限完全由你控制。
内容的提问来源于stack exchange,提问作者NaNCat
相关产品推荐
相关产品推荐

