检查代码中是否安装了所需的 gem
要检查是否安装了所需的 gem,可以在代码中使用以下内容(使用 nokogiri 作为示例):
begin
found_gem = Gem::Specification.find_by_name('nokogiri')
require 'nokogiri'
....
<the rest of your code>
rescue Gem::LoadError
end
但是,这可以进一步扩展为可用于在代码中设置功能的功能。
def gem_installed?(gem_name)
found_gem = false
begin
found_gem = Gem::Specification.find_by_name(gem_name)
rescue Gem::LoadError
return false
else
return true
end
end
现在你可以检查是否安装了所需的 gem,并打印错误消息。
if gem_installed?('nokogiri')
require 'nokogiri'
else
printf "nokogiri gem required\n"
exit 1
end
要么
if gem_installed?('nokogiri')
require 'nokogiri'
else
require 'REXML'
end