在Linux Mint上安装RVM时出现错误(23),是否为权限问题?
解决RVM安装Ruby时的
sudo: [[: command not found错误 嘿,我之前在Linux Mint上折腾RVM的时候也碰到过几乎一模一样的问题,看你的报错信息,核心原因应该是RVM脚本用到了bash专属的语法,但sudo默认调用的shell不支持这些语法,再加上RVM其实根本不需要sudo来运行——它是为单个用户设计的工具,用sudo反而会搞乱权限和环境配置。
下面是一步步的修复方案:
第一步:先搞清楚问题根源
先运行这个命令看看sudo默认用的是什么shell:sudo echo $SHELL如果输出是
/bin/dash,那就是问题所在了——dash是轻量shell,不支持RVM脚本里的[[]]这类bash扩展语法,所以才会一堆command not found报错。第二步:直接用bash执行安装命令(别加sudo!)
RVM本来就不需要sudo权限,直接用bash来运行安装命令,绕开sudo的shell问题:bash -c "rvm install 2.4.1"如果运行时提示权限不足,那大概率是你之前误用过sudo操作RVM相关目录,先修复权限:
sudo chown -R $USER:$USER ~/.rvm ~/.gem修复完再重新运行安装命令就行。
第三步:永久解决sudo shell问题(可选)
要是不想以后再碰到类似的shell兼容问题,可以把sudo的默认shell改成bash:sudo update-alternatives --config sh之后在弹出的选项里选
/bin/bash就可以了。第四步:验证安装结果
安装完成后,运行下面的命令确认Ruby是否正常工作:rvm use 2.4.1 --default ruby -v如果输出
ruby 2.4.1p111(或对应版本号),就说明没问题了。
最后再啰嗦一句:尽量别用sudo跑RVM相关命令,它的设计就是在用户空间里管理Ruby版本,用sudo只会给自己添乱~
内容的提问来源于stack exchange,提问作者oddlyzen
相关产品推荐
相关产品推荐

