卸载rvm,卸载rvm安装的ruby以及解决相关问题

在macos系统上,由于自带ruby版本较低,为满足工具需求尝试升级ruby并安装rvm。在安装2.4.2版本ruby及flick后,程序运行出现lib库冲突。通过卸载rvm、删除环境变量和文件夹,以及使用brew升级ruby,问题仍未解决。进一步执行删除flick命令行链接、卸载特定版本gem及重新安装,以解决ruby环境问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:系统为macos,自带ruby版本较低,因为工具需要安装flick程序

安装flick时有报错,但是最后也显示安装成功了,但是无法运行,

/usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi_c.bundle, 9): Library not loaded: /usr/local/opt/ruby/lib/libruby.2.3.0.dylib (LoadError)
  Referenced from: /usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi_c.bundle
  Reason: image not found - /usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi_c.bundle
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi.rb:6:in `rescue in <top (required)>'
	from /usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi.rb:3:in `<top (required)>'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/lib/ruby/gems/2.3.0/gems/sys-proctable-1.1.1-universal-darwin/lib/darwin/sys/proctable.rb:2:in `<top (required)>'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
	from /usr/local/lib/ruby/gems/2.3.0/gems/flick-0.3.2/lib/flick.rb:8:in `<top (required)>'
	from /usr/local/lib/ruby/gems/2.3.0/gems/flick-0.3.2/bin/flick:2:in `require_relative'
	from /usr/local/lib/ruby/gems/2.3.0/gems/flick-0.3.2/bin/flick:2:in `<top (required)>'
	from /usr/local/bin/flick:22:in `load'
	from /usr/local/bin/flick:22:in `<main>'


分析后觉得可能是ruby版本太低,需要升级ruby,这时走了弯路,从网上看升级ruby都需要用到rvm工具,所以装了rvm,然后 rvm install 2.4.2,安装了对应的ruby版本,然后安装了flick,命令行运行flick也没有问题,但是程序中运行时报错:

/usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': incompatible library version - /Users/haier/.rvm/gems/ruby-2.4.2/gems/ffi-1.9.23/lib/ffi_c.bundle (fatal)
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/haier/.rvm/gems/ruby-2.4.2/gems/ffi-1.9.23/lib/ffi.rb:6:in `rescue in <top (required)>'
	from /Users/haier/.rvm/gems/ruby-2.4.2/gems/ffi-1.9.23/lib/ffi.rb:3:in `<top (required)>'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/haier/.rvm/gems/ruby-2.4.2/gems/sys-proctable-1.2.0/lib/darwin/sys/proctable.rb:2:in `<top (required)>'
	from /Users/haier/.rvm/gems/ruby-2.4.2/gems/sys-proctable-1.2.0/lib/sys/proctable.rb:7:in `require_relative'
	from /Users/haier/.rvm/gems/ruby-2.4.2/gems/sys-proctable-1.2.0/lib/sys/proctable.rb:7:in `<top (required)>'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
	from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
	from /Users/haier/.rvm/gems/ruby-2.4.2/gems/flick-0.4.4/lib/flick.rb:8:in `<top (required)>'
	from /Users/haier/.rvm/gems/ruby-2.4.2/gems/flick-0.4.4/bin/flick:2:in `require_relative'
	from /Users/haier/.rvm/gems/ruby-2.4.2/gems/flick-0.4.4/bin/flick:2:in `<top (required)>'
	from /usr/local/bin/flick:22:in `load'
	from /usr/local/bin/flick:22:in `<main>'

提示lib库冲突,仔细看发现有两个版本的ruby,修改了默认ruby版本也没有解决。于是按照下面文章的步骤卸载rvm和后来安装的ruby:http://blog.youkuaiyun.com/maojudong/article/details/7918234

仔细删除了所有的环境变量和文件夹,重新brew upgrade ruby, 安装flick,再运行仍然报错:

/usr/local/Cellar/ruby/2.5.0_2/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem flick (>= 0.a) with executable flick (Gem::GemNotFoundException)
	from /usr/local/Cellar/ruby/2.5.0_2/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
	from /usr/local/bin/flick:23:in `<main>'

然后按照下面步骤执行:

$ which flick

/usr/local/bin/flick

$ rm -rf /usr/local/bin/flick

$ which flick

$ gem list

$ gem uninstall flick -v 0.4.4

$ gem install flick

再运行就可以了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值