ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本

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

我在我的 Rails 项目中使用 Pow 和 powify gem。

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

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

确保该应用程序正常运行

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

,此 url 不起作用

我尝试过的:

  • 重新创建 pow 应用程序
  • 重启 pow 服务器
  • 更新战俘服务器
  • 杀死战俘服务器
  • google 这个错误:)

这个错误仍然存​​在。顺便说一句,我有另一个 Rails 应用程序,它最初使用 ruby​​ 2.0 并与 pow 一起工作。

最佳答案

在您的项目根目录中创建一个名为 .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

关于ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18430292/

相关文章:

ruby-on-rails - Rails 中带后备功能的动态命名空间 Controller

ruby-on-rails - 如何从下游对象子集涉及的复杂事件记录 has_many 中获取列表

mysql - 带有表连接的 Ruby on Rails 模型

ruby - 有没有办法在 ruby​​ 2.0 中使用 TracePoint 来获取方法调用和返回之间的时间?

ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题

ruby-on-rails - 带有 'as' 参数的 Rails 命名空间路由

ruby - Ruby 中的 Random.rand(x) 和 rand(x) 有什么区别

ruby - 如何将类添加到 HAML 中的条件

ruby - 使用 RVM 的 Mac OS X Lion Xcode 问题

rvm - 选择 RVM gemset 的快捷方式