项目升级后,Pow不会更改ruby版本

时间:2013-08-25 14:57:02

标签: ruby-on-rails ruby rvm rack-pow

我使用Pow并将gem与我的rails项目一起使用。

现在我尝试升级我的ruby版本(从1.9.3升级到2.0.0,我使用RVM)

当我切换ruby版本时,安装所有gem依赖项,我通过运行rails s并访问localhost:3000

确保应用程序正常运行

我首先通过访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch: Your Ruby version is 1.9.3, but your Gemfile specified 2.0.0

,此网址无效

我尝试了什么:

  • 重新创建pow应用程序
  • 重新启动服务器
  • 更新服务器
  • kill pow server
  • 谷歌此错误:)

此错误仍然存​​在。顺便说一句,我有另一个rails应用程序,它最初使用ruby 2.0并且可以使用pow ok。

1 个答案:

答案 0 :(得分:8)

在项目根目录中创建名为.powrc的文件。将下面的内容复制并粘贴到您的文件中。

if [ -f "$rvm_path/scripts/rvm" ]; then
  source "$rvm_path/scripts/rvm"

  if [ -f ".rvmrc" ]; then
    source ".rvmrc"
  fi

  if [ -f ".ruby-version" ]; then
    rvm use `cat .ruby-version`
  fi

  if [ -f ".ruby-gemset" ]; then
    rvm gemset use --create `cat .ruby-gemset`
  fi
fi

这将查看您的ruby环境文件并从中选择正确的版本。如果这在您第一次尝试时无效,请确保项目的根目录中有.rvmrc.ruby-version文件。

不要忘记touch tmp/restart.txt重新启动您的应用程序。

来源:https://gist.github.com/nbibler/5307941