运行gem命令match init报错:Ruby 2.0解释器不存在求助
解决
match init的Ruby解释器错误 这个错误的核心问题是:你当初安装match gem时,用的是系统旧版本的Ruby(2.0),但现在系统里已经移除了这个版本,而match命令的执行脚本还在硬调用这个不存在的Ruby路径。好在你已经配置了RVM和Ruby 2.5.1,我们可以通过重新正确安装match来彻底解决这个问题:
步骤1:确保RVM管理的Ruby 2.5.1为当前活跃版本
先把2.5.1设为默认Ruby环境,避免后续操作再出现版本混乱:
rvm use 2.5.1 --default
步骤2:卸载绑定旧Ruby路径的match
之前安装的match是和已删除的Ruby 2.0绑定的,先把它卸载干净:
gem uninstall match
如果提示存在多个版本,选择全部卸载即可。
步骤3:用当前Ruby环境重新安装match
现在用活跃的Ruby 2.5.1来安装match,这样生成的执行脚本会自动指向正确的Ruby路径:
gem install match
步骤4:验证修复效果
现在再执行match init,应该就能正常运行了。如果想确认修复是否到位,可以检查match的路径和它的解释器指向:
which match cat $(which match) | head -1
输出的第一行应该是类似#!/Users/你的用户名/.rvm/rubies/ruby-2.5.1/bin/ruby的内容,而不是原来系统旧的Ruby路径,这就说明修复成功了。
另外提醒下,以后安装Ruby gem时,确保你是在RVM管理的Ruby环境下操作,就能避免再出现这类系统Ruby版本不匹配的问题。
内容的提问来源于stack exchange,提问作者StuartM
相关产品推荐
相关产品推荐

