3

Mac 10.8.5 で VMWare Fusion 6 を実行しています。vagrant-vmware-fusion プラグインをインストールしようとしたところ、このエラーが発生しました。これは Ruby の問題だと思いますが、Ruby を使った経験がないのでよくわかりません。どんな助けでも大歓迎です。

vagrant plugin install vagrant-vmware-fusion
Installing the 'vagrant-vmware-fusion' plugin. This can take a few minutes...
/Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader/entry.rb:127:in `read': undefined method `size' for nil:NilClass (NoMethodError)
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader/entry.rb:126:in `read'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader/entry.rb:126:in `read'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/format.rb:73:in `block (2 levels) in from_io'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader.rb:64:in `block in each'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader.rb:55:in `loop'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader.rb:55:in `each'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_input.rb:138:in `block (2 levels) in each'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader.rb:28:in `new'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_input.rb:137:in `block in each'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader.rb:64:in `block in each'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader.rb:55:in `loop'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_reader.rb:55:in `each'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_input.rb:132:in `each'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/format.rb:66:in `block in from_io'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package/tar_input.rb:22:in `open'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/package.rb:44:in `open'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/format.rb:62:in `from_io'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/format.rb:46:in `block in from_file_by_path'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/format.rb:45:in `open'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/format.rb:45:in `from_file_by_path'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:119:in `format'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:129:in `spec'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:386:in `ensure_required_ruby_version_met'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:156:in `install'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/dependency_installer.rb:297:in `block in install'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each_with_index'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `install'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/action/install_gem.rb:49:in `block in call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/gem_helper.rb:42:in `block in with_environment'
from /Applications/Vagrant/embedded/lib/ruby/1.9.1/rubygems/user_interaction.rb:40:in `use_ui'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/gem_helper.rb:41:in `with_environment'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/action/install_gem.rb:39:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/action/bundler_check.rb:20:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/builder.rb:116:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/runner.rb:61:in `block in run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/util/busy.rb:19:in `busy'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/runner.rb:61:in `run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/command/base.rb:17:in `action'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/command/install.rb:27:in `execute'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/command/root.rb:52:in `execute'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/cli.rb:38:in `execute'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/environment.rb:478:in `cli'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/bin/vagrant:96:in `<top (required)>'
from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `load'
from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `<main>'
4

1 に答える 1

0

正しい答えは、上記の他の人が言ったことです: gem パッケージが壊れているため、インターネット ソースから適切なパッケージを入手して、インストールするだけです。同様の問題があり、gem の作成者は gem を更新するようにアドバイスしています

エラーは、gem パッケージの「展開」中に発生するようです。これは、展開しようとしているパッケージ ファイルが破損していることを示しているようです。untar のソース コードが ruby​​gems で 2 年間変更されておらず、他のすべての人にとって問題なく動作することを考えると、問題はインストールに固有のものです。

あなたの場合、他のすべての宝石は正常に動作するため、このファイルのみが破損しています。ダウンロード/解凍中に何か問題が発生し、ファイルが破損したと思われます。この破損したファイルがどこかに保存されている可能性があります。削除できるように、その場所を特定する必要がある場合があります。その後、rubygems は再度ダウンロードを試みる必要があります。その後、インストールは期待どおりに機能するはずです。

したがって、人々がアドバイスしたように、キャッシュされたすべてのパッケージを削除します。

$ find -name "package.gem" -exec rm -f {} \;

次に、良好なインターネット回線がある場所に gem をダウンロードします。

$ gem fetch package.gem

gem をソース プロジェクト フォルダーにコピーしてから、インストールします。

$ gem install ./package.gem

正常にインストールされた場合は、それをバンドラー キャッシュにコピーします (私の場合は.bundleフォルダーに存在します)。

$ mv ./package.gem ./.bundle/cache/

次に発行しbundleます:

$ bundle
于 2015-07-18T18:10:50.400 に答える