Tôi đã cố gắng để tìm hiểu về khuôn khổ Sinatra ruby bằng cách làm theo hướng dẫn này:ruby DataMapper sẽ không tải
http://net.tutsplus.com/tutorials/ruby/singing-with-sinatra-the-recall-app-2/
Tuy nhiên, sau khi chạy gem install và viết một máy chủ Sinatra đơn giản trong test.rb như vậy:
require 'sinatra'
require 'datamapper'
get '/' do
"Hello, World!"
end
nhưng khi tôi chạy lệnh ruby test.rb
, tôi nhận được lỗi sau:
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- datamapper (LoadError)
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from datamapper_test.rb:2:in `<main>'
[email protected]:~/Dropbox/Repositories/sandbox/sinatra$ ruby datamapper_test.rb
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- datamapper (LoadError)
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from test.rb:3:in `<main>'
có vẻ như nó không thể tìm thấy đá quý datamapper. Làm thế nào tôi có thể sửa lỗi này?
EDIT: sử dụng ruby 1.9.2
EDIT (một lần nữa): (parital) đầu ra từ gem list
:
data_mapper (1.2.0)
data_objects (0.10.8)
datamapper (1.2.0)
devise (1.4.5)
directory_watcher (1.4.0)
dm-aggregates (1.2.0)
dm-constraints (1.2.0)
dm-core (1.2.0)
dm-do-adapter (1.2.0)
dm-migrations (1.2.0)
dm-serializer (1.2.1)
dm-sqlite-adapter (1.2.0)
d m-timestamps (1.2.0)
dm-transactions (1.2.0)
dm-types (1.2.1)
dm-validations (1.2.0)
do_sqlite3 (0.10.8)
sinatra (1.3.2, 1.2.6)
sqlite3 (1.3.5, 1.3.4)
sqlite3-ruby (1.3.3)
Tại sao? Không cần thiết trong 1.9. – three
yea, phải. Viết bình luận hài hước và sau đó xóa chúng một lần nữa. Nhận xét cuối cùng của tôi là câu trả lời cho nhận xét đã bị xóa về yêu cầu rubygems ... – three
@three: Lỗi của tôi. Tôi sử dụng Ruby 1.8.7, vì vậy điều đầu tiên tôi nhận thấy là :) Dù sao, có vẻ như câu trả lời của tôi là vô ích bây giờ, vì vậy tôi sẽ xóa nó. –