ruby – 如何获取已安装的具有本机扩展名的gem列表?

前端之家收集整理的这篇文章主要介绍了ruby – 如何获取已安装的具有本机扩展名的gem列表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Windows上,并从ruby 1.8.x更新为1.9.x,现在我收到错误弹出窗口,抱怨ruby-mssomethingrt.1.8.x.dll丢失.

我想找出哪些宝石有本机扩展,所以我可以卸载它们,并在安装过程中强制重新本地扩展本地安装,以使错误消失.

解决方法

一个好的开始是查看每个gem的gem规范,看看它是否有 extensions字段集.这应该让你有一个简短的宝石重新安装.它们不一定都使用本机扩展,但是如果您查看相应的extconf.rb文件,这应该很容易找到.

更新:这是一个简短的红宝石脚本来列出这些宝石:

require 'rubygems'

Gem.source_index.each do |gem|
  spec =  Gem.source_index.specification(gem[0])
  ext = spec.extensions
  puts "#{gem[0]} has extensions: #{ext}" unless ext.empty?
end
原文链接:https://www.f2er.com/ruby/271679.html

猜你在找的Ruby相关文章