2009-08-02 147 views
2

嘗試在OSX上安裝mysql gem時出現'marshal data too short'錯誤。扯開我聽說過建議清除.gems,但似乎無法找到它在系統上。誰能提供幫助?在OSX上安裝Mysql gem錯誤 - 'Marshal data too short'

apple$ sudo gem install mysql --backtrace --debug 
Exception `NameError' at /Library/Ruby/Site/1.8/rubygems/command_manager.rb:161 - uninitialized constant Gem::Commands::InstallCommand 
Exception `Gem::LoadError' at /Library/Ruby/Site/1.8/rubygems.rb:826 - Could not find RubyGem test-unit (>= 0) 

Exception `ArgumentError' at /Library/Ruby/Site/1.8/rubygems/spec_fetcher.rb:111 - marshal data too short 
ERROR: While executing gem ... (ArgumentError) 
    marshal data too short 
    /Library/Ruby/Site/1.8/rubygems/spec_fetcher.rb:111:in `load' 
    /Library/Ruby/Site/1.8/rubygems/spec_fetcher.rb:111:in `fetch_spec' 
    /Library/Ruby/Site/1.8/rubygems/spec_fetcher.rb:71:in `fetch' 
    /Library/Ruby/Site/1.8/rubygems/spec_fetcher.rb:70:in `map' 
    /Library/Ruby/Site/1.8/rubygems/spec_fetcher.rb:70:in `fetch' 
    /Library/Ruby/Site/1.8/rubygems/dependency_installer.rb:99:in `find_gems_with_sources' 
    /Library/Ruby/Site/1.8/rubygems/dependency_installer.rb:192:in `find_spec_by_name_and_version' 
    /Library/Ruby/Site/1.8/rubygems/dependency_installer.rb:213:in `install' 
    /Library/Ruby/Site/1.8/rubygems/commands/install_command.rb:118:in `execute' 
    /Library/Ruby/Site/1.8/rubygems/commands/install_command.rb:115:in `each' 
    /Library/Ruby/Site/1.8/rubygems/commands/install_command.rb:115:in `execute' 
    /Library/Ruby/Site/1.8/rubygems/command.rb:257:in `invoke' 
    /Library/Ruby/Site/1.8/rubygems/command_manager.rb:132:in `process_args' 
    /Library/Ruby/Site/1.8/rubygems/command_manager.rb:102:in `run' 
    /Library/Ruby/Site/1.8/rubygems/gem_runner.rb:58:in `run' 
    /usr/bin/gem:21 

回答

3

我在我的Windows機器上得到了同樣的錯誤,如果我會使用寶石。

ERROR: While executing gem ... (ArgumentError)  
marshal data too short 

刪除gem緩存目錄「c:\ Documents and Settings \ MyUser \ .gem」爲我工作。 即使您重新安裝紅寶石,似乎仍保存了一些數據。緩存的文件可能已損壞。

0

此外,.gem目錄位於你的主目錄:/Users/yourname/.gem

希望有所幫助。