簡體   English   中英

沒有 rvm 或 rbenv 的 ruby​​ 升級后 Ruby 版本不匹配

[英]Ruby version mismatch after ruby upgrade without rvm or rbenv

我正在使用 bluepill 來管理獨角獸,並且在 ruby​​ upgrade unicorn start 之后失敗並出現以下錯誤:

/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.17.3/lib/bundler/definition.rb:495:in `validate_ruby!': Your Ruby version is 2.1.4, but your Gemfile specified 2.3.7 (Bundler::RubyVersionMismatch)
    from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.17.3/lib/bundler/definition.rb:470:in `validate_runtime!'
    from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.17.3/lib/bundler.rb:101:in `setup'
    from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.17.3/lib/bundler/setup.rb:20:in `<top (required)>'
    from /usr/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
E, [2019-02-20T10:42:13.897013 #10437] ERROR -- : reaped #<Process::Status: pid 12149 exit 1> exec()-ed

奇怪的是它只有在通過 capistrano 部署調用時才會失敗。 如果我在服務器上手動運行它,它運行良好。 我嘗試了各種方法,但似乎沒有任何效果。

提前致謝。

用於運行獨角獸的 Bluepill 配置:

Bluepill.application(APPLICATION_NAME) do |application|
  application.working_dir = "/var/apps/APPLICATION_NAME/current"

  process "unicorn" do
    start_command    "/usr/local/bin/bundle exec unicorn -c config/unicorn.rb -E qa -D"
    environment      ({

      "RAILS_ENV"  => "qa",
      "RACK_ENV"   => "qa"
    })
    pid_file         "/var/apps/APPLICATION/shared/pids/unicorn.pid"
    cache_actual_pid false
    stop_command     "kill -QUIT {{PID}}"
    restart_command  "kill -USR2 {{PID}}"

    start_grace_time   60.seconds
    stop_grace_time    20.seconds
    restart_grace_time 13.seconds

    checks :flapping, :times => 2, :within => 30.seconds, :retry_in => 7.seconds

    monitor_children do
      stop_command "kill -QUIT {{PID}}"

      checks :mem_usage, :every => 10.seconds, :below => 500.megabytes, :times => [3,4], :fires => :stop
      checks :cpu_usage, :every => 10.seconds, :below => 20, :times => [3,4], :fires => :stop
    end
  end
end

錯誤很明顯: Your Ruby version is 2.1.4, but your Gemfile specified 2.3.7

您是否檢查了 Gemfile 中的 ruby​​ 版本? 它應該與您使用的 ruby​​ 版本相匹配,並且您可能需要運行

bundle update

bundle install

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM