繁体   English   中英

在应用中需要Sinatra Gem时出现LoadError

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM