LoginSignup
2
2

More than 5 years have passed since last update.

spring を 1.7.0 にアップデートしたら rails c が応答しなくなった話

Last updated at Posted at 2016-04-11

こんな問題が起きるのは自分の環境だけな気がしますが、最終的に以下の環境変数を指定したら応答してくれる様になりました。

export SPRING_SERVER_COMMAND="spring server --background"

spring server は 1.7.0 から追加されたサブコマンドです。デフォルトでは以下の様にバージョン番号を引数に与えますが、自分の環境ではこのバージョン番号付きで実行する事ができませんでした。

spring-1.7.0/lib/spring/env.rb
    def server_command
      ENV["SPRING_SERVER_COMMAND"] || "spring _#{Spring::VERSION}_ server --background"
    end
$ bundle exec spring _1.7.0_ server
Version: 1.7.0

Usage: spring COMMAND [ARGS]

Commands for spring itself:

  binstub         Generate spring based binstubs. Use --all to generate a binstub for all known commands. Use --remove to revert.
  help            Print available commands.
  server          Explicitly start a Spring server in the foreground
  status          Show current status.
  stop            Stop all spring processes for this project.

Commands for your application:

  rails           Run a rails command. The following sub commands will use spring: console, runner, generate, destroy, test.
  rake            Runs the rake command
  rspec           Runs the rspec command

CircleCI では問題なく実行出来ていたので、自分の環境が悪いと思っているのですが、理由はよく分かっていません。

追記:はやくも v1.7.1 がリリースされていた件

特に、自分の環境で問題になっていたバージョン指定引数が取り下げられている点が注目どころ。

lib/spring/env.rb
    def server_command
      ENV["SPRING_SERVER_COMMAND"] || "#{File.expand_path("../../../bin/spring", __FILE__)} server --background"
    end

おかげさまで、環境変数を設定せずとも問題なく起動する様になりました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2