2010-10-26 27 views
17

Tôi mới để lập trình (trước đây chỉ làm html/css/thiết kế) cố gắng bắt đầu học RoR thông qua cuốn sách Simply Rails 2. Tuy nhiên tôi muốn bắt đầu với các phiên bản mới nhất của Ruby (1.9.2) và Rails (3) vì vậy tôi buộc phải làm mọi thứ được cấu hình mà không có cuốn sách. Tôi đã nhìn rất nhiều qua google và trên stackoverflow. Khi tôi chạy rails server nó sẽ tự động sử dụng Webrick, nhưng tôi muốn sử dụng Mongrel. Tôi đã cài đặt Mongrel prerelease qua gem install mongrel --pre và xóa phiên bản trước đó. Tôi đọc rằng để có được Mongrel để làm việc với rails server Tôi đã phải thêm gem 'mongrel' vào Gemfile, nhưng tôi không biết cái nào tôi nên thêm nó vào (tôi đã thử một số nhưng không có gì thay đổi). Vì vậy, tôi quyết định xem xét tài liệu thú lai qua git và tìm hiểu về mongrel_rails start khi tôi chạy mà tôi có được điều này:LoadError chạy Mongrel với Rails3 và Ruby 1.9.2

C:\Ruby192\shovell>mongrel_rails start 
** Starting Mongrel listening at 0.0.0.0:3000 
** Starting Rails with development environment... C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:27:in 
'block in setup': You have already activated mongrel 1.2. 
0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. (Gem::LoadError) 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in 
'block in each' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in 
'each' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in 
'each' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:17:in 
'setup' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler.rb:100:in 
'setup' 
from C:/Ruby192/shovell/config/boot.rb:8:in '<top (required)>' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from C:/Ruby192/shovell/config/application.rb:1:in '<top (required)>' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from C:/Ruby192/shovell/config/environment.rb:2:in '<top (required)>' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:147:in 
'rails' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:116:in 
'block (2 levels) in run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in 
'call' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in 
'listener' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:102:in 
'block in run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in 
'call' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in 
'initialize' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in 
'new' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in 
'run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/command.rb:210:in 
'run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:282:in 
'<top (required)>' 
from C:/Ruby192/bin/mongrel_rails:19:in 'load' 
from C:/Ruby192/bin/mongrel_rails:19:in '<main>'` 

đoán tốt nhất của tôi là C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:27:in 'block in setup': You have already activated mongrel 1.2. 0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. là chìa khóa nhưng tôi đã không thể để giải quyết nó.

Tôi sẽ đánh giá cao bất kỳ trợ giúp nào để tôi có thể tiếp tục thực sự học ngôn ngữ!

EDIT: tôi đã có thể vượt qua các vấn đề nêu trên nhờ @duddle nhưng bây giờ tôi đã một vấn đề khác ... Tôi nhận được lỗi này:

C:\Ruby192\shovell>mongrel_rails start 
** Starting Mongrel listening at 0.0.0.0:3000 
** Starting Rails with development environment... C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in 
'req uire': no such file to load -- dispatcher (LoadError) 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in 'block in require' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:225:in 'block in load_dependency' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:591:in 'new_constants_in' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:225:in 'load_dependency' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in 'require' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:148:in 'rails' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:116:in' block (2 levels) in run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in 'call' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in 'listener' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:102:in' block in run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in 'call' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in 'initialize' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in 'new' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in'run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/command.rb:210:in 'run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:282:in '<top (required)>' 
from C:/Ruby192/bin/mongrel_rails:19:in 'load' 
from C:/Ruby192/bin/mongrel_rails:19:in '<main> 

đoán tốt nhất của tôi vào thời điểm này (1:00 ... rất mệt mỏi) là tôi đang thiếu một tập tin hoặc một cái gì đó không được đặt tên như nó phải được .. có lẽ tôi cần phải sử dụng các hành động :require trong Gemfile của tôi .. có thể tôi chỉ cần ngủ trên đó. Ha.

Một lần nữa, cảm ơn một tấn @duddle vì đã giúp tôi vượt qua lỗi đầu tiên! Bất kỳ trợ giúp nào được đánh giá cao!

+0

bạn lại thực thi 'bundle install' hoặc/và' bundle update' chưa? Sau đó thử khởi động máy chủ theo cách thông thường thông qua 'máy chủ đường ray'. Sau khi thêm 'gem 'mongrel', '> = 1.2.0.pre2'' vào Gemfile của bạn, bạn không phải sử dụng' mongrel_rails start' nữa. – crispy

+0

Haha, thức dậy sáng nay và nhận ra tôi đã nhận xét các dòng ("#") rất tiếc. tất cả cố định ngay bây giờ! Làm việc với 'rails server' Cảm ơn rất nhiều! ... Khi tôi có thêm danh tiếng, tôi sẽ quay lại đây và +1 câu trả lời của bạn. – tehaaron

Trả lời

32

You have already activated mongrel 1.2. 0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. is the key but I have not been able to solve it.

Bạn sắp hoàn tất!

gem 'mongrel', '>= 1.2.0.pre2' 

Tham số thứ hai yêu cầu phiên bản yêu cầu phiên bản bằng hoặc lớn hơn 1.2.0.pre2, bạn phải sử dụng khi sử dụng Ruby 1.9.2.

trang Các Bundler cung cấp một tài liệu tham khảo tốt về cách sử dụng các Gemfile: http://gembundler.com/gemfile.html

+0

Cảm ơn rất nhiều, tôi đã đọc trang gembundler và có thể tìm ra Gemfile để chỉnh sửa (ứng dụng của tôi). Tuy nhiên, bây giờ tôi có một vấn đề khác ... đi con số. Vui lòng kiểm tra chỉnh sửa của tôi – tehaaron

5

Chỉ trong trường hợp bạn không tìm nó ra.

Tôi đã chạy gem install 'dispatcher' và thêm gem 'dispatcher' vào Gemfile trong ứng dụng của tôi. Sau đó mọi thứ đều ổn.

Từ trải nghiệm nhỏ mà tôi có với ruby, mỗi lần tôi có vấn đề "yêu cầu - không tải tệp như vậy". Đó là bởi vì tôi thiếu một viên ngọc cụ thể.

Hth ...

+0

cảm ơn rất nhiều! cuối cùng bạn đã tiết kiệm thời gian của tôi! –

+0

Đây là điều khiến tôi tiếp tục bước tiếp theo. –

0

Này, tôi chạy vào vấn đề đó, các giải pháp khá đơn giản:

Chỉ cần thêm đá quý 'văn'

;-)

+1

đưa ra lỗi: uninitialized hằng số công văn :: Nguồn :: PROC_EXIT – appsthatmatter

+0

có Tôi đang đấu tranh với cùng một vấn đề –

4

thêm dòng này vào tập tin đá quý của bạn:

gem 'mongrel', '>= 1.2.0.pre2' 

tại dấu nhắc lệnh:

chạy bundle install

khởi lai sử dụng lệnh này:

rails server 
0

Các viên ngọc lai là không tương thích với Ruby 1.9.2; bạn sẽ phải sử dụng đá quý 'sho-mongrel' ở vị trí của nó.

+3

Để thêm và làm rõ phản hồi của bạn - ** mặc định ** mongrel gem không tương thích. Nếu bạn sử dụng mongrel> = 1.2.0pre2, theo kinh nghiệm của tôi, nó là tốt với Ruby 1.9.2. Tôi không quen thuộc với 'sho-mongrel' nên tôi không thể bình luận về đề nghị đó. – rholmes

0

Cố gắng cài đặt nó bằng cách sử:

gem install mongrel --pre 

Nó làm việc cho tôi hoàn hảo !!!

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