#ruby #gem #sinatra #bundle #gemfile
#ruby #драгоценный камень #синатра #пакет #gemfile
Вопрос:
Я пытаюсь запустить свое приложение sinatra с помощью shotgun, но у меня возникли небольшие проблемы. Мое приложение запускалось локально, когда я в последний раз проверял 3 недели назад, и в настоящее время все еще работает на Heroku, однако в настоящее время я не могу запустить программу локально. Когда я запускаю «ruby index.rb», я получаю следующую ошибку:
/Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:118:in `require': unable to find a version of 'actionpack' to activate (Gem::LoadError)
from /Users/xxx/.rvm/gems/ruby-2.0.0-p451/gems/muni-0.0.8/lib/muni/prediction.rb:1:in `<top (required)>'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
from /Users/xxx/.rvm/gems/ruby-2.0.0-p451/gems/muni-0.0.8/lib/muni/stop.rb:2:in `<top (required)>'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
from /Users/xxx/.rvm/gems/ruby-2.0.0-p451/gems/muni-0.0.8/lib/muni/route.rb:4:in `<top (required)>'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
from /Users/xxx/.rvm/gems/ruby-2.0.0-p451/gems/muni-0.0.8/lib/muni.rb:2:in `<top (required)>'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `require'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
from /Users/xxx/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:144:in `require'
from index.rb:3:in `<main>'
Когда я запускаю приложение, я получаю:
`Ошибка загрузки
Что-то пошло не так при загрузке config.ru
Ошибка времени выполнения: отсутствует оператор run или map
Я никогда раньше не сталкивался ни с одной из этих проблем, и поиск в Google или поиск в stack overflow не сильно помог. Вот как выглядит мой gemfile:
gem 'dotenv-rails', :groups => [:development, :test]
source "http://rubygems.org"
gem "sinatra"
gem "muni"
gem "shotgun"
gem "thin"
gem "actionpack"
и соответствующий gemfile.lock:
GEM
remote: http://rubygems.org/
specs:
actionpack (4.1.1)
actionview (= 4.1.1)
activesupport (= 4.1.1)
rack (~> 1.5.2)
rack-test (~> 0.6.2)
actionview (4.1.1)
activesupport (= 4.1.1)
builder (~> 3.1)
erubis (~> 2.7.0)
activesupport (4.1.1)
i18n (~> 0.6, >= 0.6.9)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.1)
tzinfo (~> 1.1)
amatch (0.3.0)
tins (~> 1.0)
builder (3.2.2)
daemons (1.1.9)
dotenv (0.11.1)
dotenv-deployment (~> 0.0.2)
dotenv-deployment (0.0.2)
dotenv-rails (0.11.1)
dotenv (= 0.11.1)
erubis (2.7.0)
eventmachine (1.0.3)
i18n (0.6.9)
json (1.8.1)
minitest (5.3.5)
muni (0.0.8)
actionpack
amatch
thor
xml-simple
rack (1.5.2)
rack-protection (1.5.3)
rack
rack-test (0.6.2)
rack (>= 1.0)
shotgun (0.9)
rack (>= 1.0)
sinatra (1.4.5)
rack (~> 1.4)
rack-protection (~> 1.4)
tilt (~> 1.3, >= 1.3.4)
thin (1.6.2)
daemons (>= 1.0.9)
eventmachine (>= 1.0.0)
rack (>= 1.0.0)
thor (0.19.1)
thread_safe (0.3.4)
tilt (1.4.1)
tins (1.3.0)
tzinfo (1.2.1)
thread_safe (~> 0.1)
xml-simple (1.1.3)
PLATFORMS
ruby
DEPENDENCIES
actionpack
dotenv-rails
muni
shotgun
sinatra
thin
Этот драгоценный камень в настоящее время не работает?
Спасибо за всю вашу помощь.
Комментарии:
1. Что
bundle check
говорит?bin/rails c
Работает ли?2. Итак, я никогда не указывал после запуска shotgun; для локального запуска приложения мне нужно запустить «shotgun index.rb». Почему мне нужно указывать, какой файл ruby использовать для «shotgun»?
3.
shotgun
может сделатьrequire 'bundle/setup'
шаг, который заставит его работать.