Merge pull request #2420 from tmacedo/rubygems_2_compatibility
core: compatibility with rubygems 2.x
This commit is contained in:
commit
63005fc1c6
|
@ -1,6 +1,10 @@
|
|||
require "rubygems"
|
||||
require "rubygems/dependency_installer"
|
||||
require "rubygems/format"
|
||||
begin
|
||||
require "rubygems/format"
|
||||
rescue LoadError
|
||||
# rubygems 2.x
|
||||
end
|
||||
|
||||
require "log4r"
|
||||
|
||||
|
@ -26,8 +30,13 @@ module VagrantPlugins
|
|||
if plugin_name =~ /\.gem$/
|
||||
# If we're installing from a gem file, determine the name
|
||||
# based on the spec in the file.
|
||||
pkg = Gem::Format.from_file_by_path(plugin_name)
|
||||
pkg = if defined?(Gem::Format)
|
||||
Gem::Format.from_file_by_path(plugin_name)
|
||||
else
|
||||
Gem::Package.new(plugin_name)
|
||||
end
|
||||
find_plugin_name = pkg.spec.name
|
||||
version = pkg.spec.version
|
||||
end
|
||||
|
||||
# Install the gem
|
||||
|
|
|
@ -126,6 +126,10 @@ module VagrantPlugins
|
|||
|
||||
if prune_specs.length > 0
|
||||
env[:gem_helper].with_environment do
|
||||
|
||||
# due to a bug in rubygems 2.0, we need to load the specifications before removing any
|
||||
Gem::Specification.to_a
|
||||
|
||||
prune_specs.each do |prune_spec|
|
||||
uninstaller = Gem::Uninstaller.new(prune_spec.name, {
|
||||
:all => true,
|
||||
|
|
Loading…
Reference in New Issue