Sinatra запускается после выхода из консоли rails

Sinatra запускается сразу после выхода из rails-console:

$ rails c
Loading development environment (Rails 3.1.11)
[1] pry(main)> exit
[2014-02-06 14:01:50] INFO  WEBrick 1.3.1
[2014-02-06 14:01:50] INFO  ruby 1.9.3 (2014-01-09) [java]
== Sinatra/1.3.3 has taken the stage on 4567 for development with backup from WEBrick
[2014-02-06 14:01:50] INFO  WEBrick::HTTPServer#start: pid=4516 port=4567

Проблема возникает, когда irb также используется в качестве реплики rails-console.

Проблема не возникает при выходе из rails, только при выходе из консоли rails.

Проблема возникает при использовании jruby-1.7.10, но не jruby-1.6.7. Изначально проблема была замечена после обновления.

Sinatra доступен в другом месте в моем стеке (поэтому он запускается не полностью за пределами левого поля), но почему он запускается при выходе из rails-console.

Временным исправлением этого являются следующие шаги:

  1. удалить gem 'sinatra' из Gemfile
  2. беги $ bundle install
  3. добавить gem 'sinatra' обратно к Gemfile
  4. беги $ bundle install

К сожалению, после нескольких изменений в Gemfile и еще bundle install проблема не устранена. Я предполагаю, что это ошибка в сборщике, но из всего, что может случиться, почему запускается сервер sintra?


person rudolph9    schedule 06.02.2014    source источник
comment
Это не баг, это фича!   -  person DiegoSalazar    schedule 07.02.2014
comment
@diego.greyrobot, как отключить эту функцию?   -  person rudolph9    schedule 07.02.2014
comment
Ладно, кроме шуток, я понятия не имею. Я бы сказал, что у вас есть какая-то строка кода, которая вызывает это. Возможно, в файле *rc или файле rake. Под файлом *rc я подразумеваю что-то вроде .irbrc и т. д. Кроме того, попробуйте найти эту строку кода в каталоге вашего проекта, есть только несколько способов запустить процесс sinatra, например, вызов ruby ​​my_sinatra_file.rb. Сначала выясните, какой это файл, а затем выполните поиск этой строки в вашем проекте.   -  person DiegoSalazar    schedule 07.02.2014


Ответы (1)


У нас была такая же проблема. Мы решили эту проблему, изменив наш Gemfile следующим образом:

gem 'sinatra', require: false

Более подробную информацию о том, что это делает, можно найти в: Bundler: What означает ли :require =› false в Gemfile?

person vas    schedule 05.11.2015