[英]LoadError when requiring Sinatra Gem in app
我正在关注http://learnrubythehardway.org/book/ex50.html教程,该教程提供:
创建尽可能最基本的Sinatra应用程序。 将以下代码放入
bin/app.rb
:
require 'sinatra'
set :port, 8080
set :static, true
set :public_folder, "static"
set :views, "views"
get '/' do
return 'Hello world'
end
我安装了gem和Sinatra没有问题。 我还将本教程中的app.rb
复制到了本地bin/app.rb
文件中。
我用它运行: ruby bin/app.rb
终端输出:
/home/t/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in 'require': cannot load such file -- sinatra (LoadError)
from /home/t/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in 'require'
from bin/app.rb:1:in `<main>
当我运行rake test
它通过了测试。 有什么问题?
如果您遵循他们的指示,请运行sudo gem install sinatra
。 不要在您的环境中使用sudo
,因为您正在使用rbenv。
使用sudo
,您有系统Ruby安装Sinatra,而不是rbenv设置的当前选择的Ruby。
阅读rbenv的“ 安装Ruby gems ”文档。
要解决此问题,只需运行gem install sinatra
,它将在您的rbenv配置的Ruby中安装Sinatra及其依赖项。
那不会将Sinatra从System Ruby中删除,但是它的存在应该是安全而良性的。
“ 使用rbenv不适用于sudo吗? ”也会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.