2011-07-06 31 views
5

Tôi đẩy một viên ngọc lên đến rubygems.org, và khi tôi làm một 'gem install (đá quý)' Tôi nhận được lỗi này:uninitialized Psych liên tục :: Syck trên gem install

ERROR: While executing gem ... (NameError) 
uninitialized constant Psych::Syck 

tôi có thể làm một 'gem build (gem) .gemspec' để tạo ra một gem cục bộ và sau đó cài đặt gem (gem) .gem và nó sẽ được cài đặt tốt. Tôi cũng có thể đặt gem vào Gemfile của ứng dụng Rails với một con trỏ tới repo Github và nó cũng sẽ hoạt động. Tôi đã thử cài đặt đá quý (từ rubygems.org trên nhiều máy tính và tất cả đều có cùng lỗi.

Tôi hết ý tưởng về những gì có thể khiến cài đặt thất bại khi được thực hiện từ rubygems.org nhưng không phải khi tôi tạo ra nó tại địa phương tôi đang sử dụng kim hoàn để đẩy đá quý lên đến rubygems.org

Trả lời

6

Lỗi cụ thể tôi nhận được là: uninitialized constant Psych::Syck (NameError) khi thực hiện cài đặt gói.

Điều này xảy ra khi cài đặt phiên bản simplecov (công cụ phủ sóng mã tuyệt vời) 0.5.0. Làm việc trong Ubuntu 11.04 và sử dụng RVM.

Cố định vấn đề với gem update --system

này cập nhật rubygems và sản xuất đầu ra sau đây:

Updating rubygems-update 
Fetching: rubygems-update-1.8.10.gem (100%) 
Successfully installed rubygems-update-1.8.10 
Installing RubyGems 1.8.10 
RubyGems 1.8.10 installed 

== 1.8.10/2011-08-25 

RubyGems 1.8.10 contains a security fix that prevents malicious gems from 
executing code when their specification is loaded. See 
https://github.com/rubygems/rubygems/pull/165 for details. 

* 5 bug fixes: 

* RubyGems escapes strings in ruby-format specs using #dump instead of #to_s 
    and %q to prevent code injection. Issue #165 by Postmodern 
* RubyGems attempt to activate the psych gem now to obtain bugfixes from 
    psych. 
* Gem.dir has been restored to the front of Gem.path. Fixes remaining 
    problem with Issue #115 
* Fixed Syck DefaultKey infecting ruby-format specifications. 
* `gem uninstall a b` no longer stops if gem "a" is not installed. 


------------------------------------------------------------------------------ 

RubyGems installed the following executables: 
    /home/baller/.rvm/rubies/ruby-1.9.2-p180/bin/gem 

RubyGems system software updated 
3

Các giải pháp sẽ được chạy lệnh dưới đây trong Terminal của bạn:

gem update --system 

Nó là một lỗi trong phiên bản hệ thống đá quý gây ra vấn đề này. Điều này làm việc cho tôi.

Các vấn đề liên quan