使用Sinatra获得Rack GemNotFound
这是我第一次尝试使用红宝石堆栈。 我遇到以下错误:
Could not find rack-1.6.4 in any of the sources (Bundler::GemNotFound)
我已经成功安装了以下组件:
*本地GEMS *
* Gemfile *
gem 'sinatra', '1.4.6'
* Gemfile.lock *
GEM
remote: https://rubygems.org/
specs:
rack (1.6.4)
rack-protection (1.5.3)
rack
sinatra (1.4.6)
rack (~> 1.4)
rack-protection (~> 1.4)
tilt (>= 1.3, < 3)
tilt (2.0.1)
PLATFORMS
ruby
DEPENDENCIES
sinatra (= 1.4.6)
BUNDLED WITH
1.10.6
* config.ru *
require './app.rb'
run Sinatra::Application
* app.rb *
require 'bundler/setup'
require 'sinatra'
get '/' do
'hello world'
end
我为应用程序使用默认的Nginx文件夹。 我能够在config.ru中执行以下测试:
app = proc do |env|
[200, { "Content-Type" => "text/html" }, ["hello world"]]
end
但只要我尝试切换到Sinatra,我就会得到上面的错误。
提前致谢!
好的,我发现了这个问题。
我遵循这里的安装说明:https://www.phusionpassenger.com/library/install/nginx/install/oss/trusty/
但是因为我使用的是rvm,我不得不改变passenger_ruby指令来指向rvm包装器:/usr/local/rvm/wrappers/ruby-2.1.6/ruby
问题在这里:
rack (1.6.4)
...
sinatra (1.4.6)
rack (~> 1.4)
机架版本有冲突。 你需要1.6.4和1.4.x
rack 1.6.4如何在gemfile.lock中结束?