2011-10-02 29 views
33

Đang cố gắng để chạy rake cucumber:ok và đang nhận được lỗi này:Rake "đã khởi WFKV_ liên tục" cảnh báo

/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_

Sau đó:
Command failed with status (1): [/Users/dev/.rbenv/versions/1.9.2-p290/bin...]

Tôi khá mới để Rails và Google không biến bất cứ điều gì cho lỗi này.

EDIT: Tôi đã thử thêm bundle exec và điều đó không có sự khác biệt.

Đây là những gì tôi nhận với --trace:

/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/file_utils.rb:45:in `call' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/file_utils.rb:45:in `sh' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/file_utils_ext.rb:36:in `sh' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/cucumber-1.1.0/lib/cucumber/rake/task.rb:104:in `run' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/cucumber-1.1.0/lib/cucumber/rake/task.rb:193:in `block in define_task' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:205:in `call' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:205:in `block in execute' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:200:in `each' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:90:in `block (2 levels) in top_level' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:90:in `each' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:90:in `block in top_level' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:62:in `block in run' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' 
/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-0.9.2/bin/rake:32:in `<top (required)>' 
/Users/dev/.rbenv/versions/1.9.2-p290/bin/rake:19:in `load' 
/Users/dev/.rbenv/versions/1.9.2-p290/bin/rake:19:in `<main>' 
Tasks: TOP => cucumber:ok 

Trả lời

51

tôi bắt đầu có cùng một vấn đề tối nay. Nó có vẻ liên quan đến Rack 1.3.4. Tôi cố định nó bằng cách thêm này để Gemfile tôi:

gem 'rack', '1.3.3' 

Sau đó chạy:

bundle update rack 

Ngẫu nhiên, tôi đã cố gắng đề nghị Bozhidar trước khi điều này, nhưng vô ích.

+6

Cảm ơn bạn đã chỉ ra điều đó. Tôi sẽ xóa câu trả lời của tôi sau đó. –

+14

Từ nhận xét trong common_192.rb ("Bị đánh cắp từ uri/common.rb của lõi ruby ​​@ 32618ba để khắc phục sự cố DoS trong phiên bản 1.9.2" và "Điều này có thể sẽ bị xóa khi có mức bản vá Ruby 1.9.2 bao gồm sửa chữa. ") Có vẻ như điều này đã được thêm vào rack để ngăn chặn một cuộc tấn công từ chối dịch vụ. Nó cố ý khỉpatches một lỗ hổng trong Ruby nhưng khỉpatch kết quả trong cảnh báo "đã được khởi tạo liên tục". Vì vậy, có vẻ như sự lựa chọn là một trong hai để trở lại 1.3.3 theo đề nghị của Daniel hoặc để có được sửa chữa và đưa lên với cảnh báo trong một thời gian. –

+1

Trong trường hợp của tôi, cảnh báo đã ngăn cản việc biên dịch trước đường ống nội dung, vì vậy việc hoàn nguyên về 1.3.3 là tùy chọn duy nhất. –

-1

Vì vậy, tôi đã bao gồm:

yêu cầu 'uri/common'; :: URI.send: remove_const,: WFKV_

tuy nhiên những nhận xét mà nói "nó sẽ làm việc trong Gemfile" trên thực tế nên đọc "Phải trong Gemfile."

8

Giá 1.3.5 hiện đã hết, đã khắc phục cảnh báo này.

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