2011-02-08 5 views
6

मैंने अभी अपना विंडोज 2008 सर्वर x64 बॉक्स अपडेट किया है 1.5.0 rububgems करने के लिए और अब मैं रेक कार्य (rake clobber build) का उपयोग कर एक मणि नहीं बना सकता है कि Gemcutter प्रदान करता है।जेमकटर रेक बिल्ड अब # <Syck :: Emitter: .... "के लिए" अपरिभाषित विधि 'लिखना फेंकता है। रूबी पर 1.9.2 rubygems को अद्यतन करने के बाद 1.9.2 विंडोज

rake aborted! 
undefined method `write' for #<Syck::Emitter:0x37dda38> 
C:/Ruby192/lib/ruby/1.9.1/psych/visitors/emitter.rb:17:in `end_document' 
C:/Ruby192/lib/ruby/1.9.1/psych/visitors/emitter.rb:17:in `visit_Psych_Nodes_Document' 
C:/Ruby192/lib/ruby/1.9.1/psych/visitors/visitor.rb:10:in `accept' 
C:/Ruby192/lib/ruby/1.9.1/psych/visitors/emitter.rb:10:in `block in visit_Psych_Nodes_Stream' 
C:/Ruby192/lib/ruby/1.9.1/psych/visitors/emitter.rb:10:in `each' 
C:/Ruby192/lib/ruby/1.9.1/psych/visitors/emitter.rb:10:in `visit_Psych_Nodes_Stream' 
C:/Ruby192/lib/ruby/1.9.1/psych/visitors/visitor.rb:11:in `accept' 
C:/Ruby192/lib/ruby/1.9.1/psych/nodes/node.rb:36:in `to_yaml' 
C:/Ruby192/lib/ruby/1.9.1/psych.rb:166:in `dump' 
C:/Ruby192/lib/ruby/1.9.1/psych/core_ext.rb:13:in `psych_to_yaml' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:706:in `node_export' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:706:in `add' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:706:in `encode_with' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:727:in `block (2 levels) in to_yaml' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:726:in `map' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:726:in `block in to_yaml' 
C:/Ruby192/lib/ruby/1.9.1/syck.rb:401:in `call' 
C:/Ruby192/lib/ruby/1.9.1/syck.rb:401:in `emit' 
C:/Ruby192/lib/ruby/1.9.1/syck.rb:401:in `quick_emit' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:725:in `to_yaml' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:78:in `block (2 levels) in write_package' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:73:in `block (3 levels) in add_gem_contents' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_writer.rb:83:in `new' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:67:in `block (2 levels) in add_gem_contents' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:65:in `wrap' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:65:in `block in add_gem_contents' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_writer.rb:113:in `add_file' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:63:in `add_gem_contents' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:31:in `open' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/package.rb:68:in `open' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:77:in `block in write_package' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:76:in `open' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:76:in `write_package' 
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:39:in `build' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/jeweler-1.5.2/lib/jeweler/commands/build_gem.rb:16:in `run' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/jeweler-1.5.2/lib/jeweler.rb:87:in `build_gem' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/jeweler-1.5.2/lib/jeweler/tasks.rb:84:in `block in define' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:636:in `call' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:636:in `block in execute' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:631:in `each' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:631:in `execute' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:597:in `block in invoke_with_call_chain' 
C:/Ruby192/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:583:in `invoke' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2029:in `block (2 levels) in top_level' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2029:in `each' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2029:in `block in top_level' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2001:in `block in run' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:1998:in `run' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.8.7/bin/rake:31:in `<top (required)>' 
C:/Ruby192/bin/rake:19:in `load' 
C:/Ruby192/bin/rake:19:in `<main>' 

एक बंडल युक्त प्रयोग पर आधारित:

Using rake (0.8.7) 
Using bundler (1.0.10) 
Using diff-lcs (1.1.2) 
Using git (1.2.5) 
Using jeweler (1.5.1) 
Using json (1.5.1) 
Using rcov (0.9.9) 
Using rspec-core (2.1.0) 
Using rspec-expectations (2.1.0) 
Using rspec-mocks (2.1.0) 
Using rspec (2.1.0) 
Using syntax (1.0.0) 
Using systemu (1.2.0) 
Using win32console (1.3.0) 

और निम्नलिखित जवाहरात प्रणाली

activemodel (3.0.3, 3.0.1) 
activerecord (3.0.3, 3.0.1) 
activerecord-sqlserver-adapter (3.0.9, 3.0.6, 3.0.5) 
activesupport (3.0.3, 3.0.1) 
archive-tar-minitar (0.5.2) 
arel (2.0.7, 2.0.3, 1.0.1) 
builder (3.0.0, 2.1.2) 
bundler (1.0.10, 1.0.7) 
capistrano (2.5.19) 
capistrano_winrm (0.0.1) 
capybara (0.4.1.1, 0.4.0) 
celerity (0.8.7, 0.8.6) 
childprocess (0.1.6) 
color (1.4.1) 
columnize (0.3.2) 
cucumber (0.10.0, 0.9.4) 
culerity (0.2.15, 0.2.13) 
dbi (0.4.5) 
deprecated (3.0.0) 
diff-lcs (1.1.2) 
ffi (1.0.5 x86-mingw32, 1.0.4 x86-mingw32, 0.6.3 x86-mingw32) 
gemcutter (0.6.1) 
gherkin (2.3.3 x86-mingw32, 2.2.9 x86-mingw32) 
git (1.2.5) 
handsoap (1.1.8, 1.1.7) 
highline (1.6.1) 
hoe (2.9.1, 2.8.0) 
httpclient (2.1.6.1, 2.1.6) 
i18n (0.5.0, 0.4.2) 
ironruby-dbi (0.1.0) 
jeweler (1.5.2, 1.5.1) 
json (1.5.1 x86-mingw32, 1.4.6 x86-mingw32) 
json_pure (1.5.1, 1.4.6) 
justeat (0.1.0, 0.0.2) 
linecache19 (0.5.11) 
macaddr (1.0.0) 
mime-types (1.16) 
minitest (2.0.2, 1.6.0) 
mssqlclient (0.1.0) 
net-scp (1.0.4) 
net-sftp (2.0.5) 
net-ssh (2.1.0, 2.0.23) 
net-ssh-gateway (1.0.1) 
net-ssh-multi (1.0.1) 
net-ssh-shell (0.1.0) 
nokogiri (1.4.4.1 x86-mingw32) 
open4 (1.0.1) 
Platform (0.4.0) 
popen4 (0.1.2) 
rack (1.2.1) 
rack-test (0.5.7, 0.5.6) 
rake (0.8.7) 
rake-dotnet (1.0.2, 1.0.1, 0.2.2, 0.2.1, 0.2.0) 
rake-remote_task (2.0.2) 
rcov (0.9.9) 
rdiscount (1.6.8, 1.6.5) 
rdoc (3.5.3, 3.1, 2.5.8) 
rdoc-data (2.5.3) 
rspec (2.5.0, 2.3.0, 2.1.0, 2.0.1) 
rspec-core (2.5.1, 2.3.1, 2.1.0, 2.0.1) 
rspec-expectations (2.5.0, 2.3.0, 2.1.0, 2.0.1) 
rspec-mocks (2.5.0, 2.3.0, 2.1.0, 2.0.1) 
ruby-debug-base19 (0.11.24) 
ruby-debug-ide (0.4.16) 
ruby-odbc (0.99994, 0.99993, 0.99992) 
ruby_core_source (0.1.4) 
rubyforge (2.0.4) 
rubygems-update (1.5.0) 
rubyntlm (0.1.1) 
rubyzip (0.9.4) 
selenium-webdriver (0.1.2) 
syntax (1.0.0) 
systemu (1.2.0) 
term-ansicolor (1.0.5) 
trollop (1.16.2) 
tzinfo (0.3.24, 0.3.23) 
uuid (2.3.1) 
vlad (2.1.0) 
webrat (0.7.3, 0.7.2) 
win32-api (1.4.8 x86-mingw32, 1.4.7 x86-mingw32) 
win32-process (0.6.5) 
win32console (1.3.0 x86-mingw32) 
windows-api (0.4.0) 
windows-pr (1.1.3, 1.1.2) 
winrm (0.0.6) 
xpath (0.1.3, 0.1.2) 
+0

इस दौरान मैंने अपने rubygems संस्करण को वापस 1.3.7 तक डाउनग्रेड करके समस्या के आसपास काम किया है। –

+0

समस्या के लिए यहां एक गिटहब मुद्दा है: https://github.com/carlhuda/bundler/issues/1239 –

उत्तर

20

अद्यतन:#1239 में रिपोर्ट हैं जो कि बंडलर 1.0.21 या 1.1 में अपग्रेड करने से समस्या ठीक हो सकती है। (धन्यवाद सूचक के लिए forforf करने के लिए!)

gem install bundler 

यह एक ज्ञात बग (#1239) बंडलर में है। राकफाइल के शीर्ष पर require 'psych' जोड़ने के लार्स्च के कामकाज ने मेरी रेल परियोजना (किसी भी कारण से - यह कुछ भी नहीं बदला) के लिए मदद नहीं की, लेकिन RUBYOPT='-rpsych' को वर्कअराउंड के रूप में सेट करना, इस तरह हल किया गया:

RUBYOPT='-rpsych' bundle install 

(pointing this out के लिए मोरो के लिए धन्यवाद।)

यह केवल स्थापित करने और अद्यतन के लिए आवश्यक प्रतीत हो रहा है। आवेदन स्वयं (यानी कॉलिंग इत्यादि, bundle exec के साथ) RUBYOPT को सेट किए बिना कार्य करना जारी रखना चाहिए।


पृष्ठभूमि के लिए, कारण है कि बस साइक मॉड्यूल की आवश्यकता होती है कुछ फ़र्क पड़ता है यह प्रतीत हो रहा है: YAML automatically, जब तक साइक समय YAML की आवश्यकता है पर लोड किया जाता है, (पुराने) Syck लाइब्रेरी का उपयोग करता है जिस स्थिति में यह साइको का उपयोग करता है। इस प्रकार का निहित व्यवहार, निश्चित रूप से, a lot of trouble का कारण बनता है, जिसमें हम यहां देखे गए समस्या को शामिल करते हैं।

+0

किसी मित्र विंडोज मशीन के साथ समस्या हो रही थी और इसमें रत्नों का उपयोग करना था: git => 'git: // ... स्रोत ... समझ में नहीं आता .. लेकिन यह काम किया! धन्यवाद! –

+0

बंडलर के लिए एक नया अपडेट मेरे लिए समस्या तय करता है: 'मणि इंस्टॉल करें bundler-v1.0.21.rc'। [# 1239 बग थ्रेड] (https://github.com/carlhuda/bundler/issues/1239) के माध्यम से मिला। – forforf

+0

@forforf: धन्यवाद! 1.0.21.rc ने मेरे लिए मदद नहीं की, लेकिन 1.1.आरसी ने किया। मैंने जवाब अपडेट कर लिया है। –

1

डेबियन पर एक समान मुद्दा था करने के लिए स्थापित मैं निम्नलिखित त्रुटि मिलती है। 1.0.10 की बजाय बंडलर (1.0.9) के पुराने संस्करण पर वापस लौटने से समस्या ठीक हो गई।

7

This Hoe bug report एक कार्य-आसपास का वर्णन करता है: रेकैकाइल में किसी और चीज़ से पहले 'मनोदशा' की आवश्यकता है। मेरे लिये कार्य करता है।

1

सर्वर के रूप में प्यूमा के साथ रेल ऐप चलाने की कोशिश करते समय मुझे इस समस्या का सामना करना पड़ा। जवाब यह साबित हुआ कि यहां लोग क्या कह रहे थे, यानी यदि निर्दिष्ट नहीं किया गया है, तो रूबी मन (न्यू यामल पार्सर) के बजाय सिक (पुराना यमल पार्सर) का उपयोग करने का प्रयास करेगी। मैं निम्नलिखित लाइनों के साथ config/boot.rb फ़ाइल को संशोधित करने के लिए किया था:

require 'psych' 
YAML::ENGINE.yamler = 'psych' 

syck का उपयोग कर बंद करो और साइक करने के लिए स्विच करने के लिए बाध्य करने के लिए यह। उसके बाद सब कुछ काम किया।

संबंधित मुद्दे