Lea*_*lli 11 rack rubygems sinatra
我刚刚将我的操作系统从Ubuntu 14.04 LTS更新到16.04,我在那里运行我的Ruby Sinatra项目.事情是更新后我试图运行服务器,然后在浏览器中的localhost我得到此错误启动错误
Something went wrong while loading app.rb
Gem::ConflictError: Unable to activate sinatra-1.4.7, because rack-2.0.1 conflicts with rack (~> 1.5)
/usr/lib/ruby/2.3.0/rubygems/specification.rb:2286:in `raise_if_conflicts'
/usr/lib/ruby/2.3.0/rubygems/specification.rb:1407:in `activate'
/usr/lib/ruby/2.3.0/rubygems.rb:196:in `rescue in try_activate'
/usr/lib/ruby/2.3.0/rubygems.rb:193:in `try_activate'
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:125:in `rescue in require'
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
/home/leandro/Downloads/git-master/ruby sinatra/app.rb:1:in `<top (required)>'
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:115:in `inner_app'
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:103:in `assemble_app'
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:86:in `proceed_as_child'
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:31:in `call!'
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:18:in `call'
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/favicon.rb:12:in `call'
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/static.rb:14:in `call'
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/urlmap.rb:68:in `block in call'
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `each'
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `call'
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/builder.rb:153:in `call'
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/handler/webrick.rb:86:in `service'
/usr/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service'
/usr/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run'
/usr/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread'
Run Code Online (Sandbox Code Playgroud)
我已经在包含app.rb的文件夹中尝试了gem install bundle和bundle install.我还在gem文件中放了gem"rack","〜> 1.5",但我仍然有同样的错误.你能帮我么?非常感谢提前
ton*_*edz 16
我今天遇到了类似的问题(完全相同的错误信息),当我试图运行一套自动化测试时,我维持着某种程度上依赖于Sinatra.
Gem::ConflictError: Unable to activate sinatra-1.4.7, because rack-2.0.1 conflicts with rack (~> 1.5)
Run Code Online (Sandbox Code Playgroud)
我在这个日文(?)博客上找到了解决方案
卸载rack-2.0.1为我做了诀窍
> gem uninstall rack
Select gem to uninstall:
1. rack-2.0.1
2. rack-1.6.4
3. All versions
> 1
Successfully uninstalled rack-2.0.1
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,rack版本2.0.1是Rails 5的依赖,所以我不能删除它.所以我发现了一种不同的(更好的?)方式.
确保它在你的Gemfile中:
gem 'rack', '<2.0'
gem 'sinatra'
Run Code Online (Sandbox Code Playgroud)
......那么bundle exec <server-start-command>应该按预期工作.
| 归档时间: |
|
| 查看次数: |
4005 次 |
| 最近记录: |