【问题标题】:Pow does not change ruby version after project upgrade项目升级后 Pow 不会更改 ruby​​ 版本
【发布时间】:2013-08-25 14:57:01
【问题描述】:

我在我的 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 服务器
  • 更新 pow 服务器
  • 杀死 pow 服务器
  • google 这个错误:)

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 我漫不经心地阅读了 pow 手册 :( 我把这样的文件放在了我的 ~ 目录中,但应该放在项目目录中。谢谢。
    • 这对我不起作用。将上面的代码复制到我的项目目录中的.powrc 并触摸tmp/restart.txt 但仍然得到完全相同的错误(使用我的Gemfile 中的ruby 行从Ruby 2.2.0 升级到2.2.1)
    • @GeorgeMillo 尝试在项目根目录中创建一个名为“.ruby-version”的文件,其内容为“2.2.1”。然后再试一次。
    • 我尝试了所有这些,但没有成功。我尝试重新启动,仍然无法正常工作。等了几分钟,还是不行。然后我想我会做其他事情并运行bundle exec rspec spec,然后注意到 pow 现在正在工作。不确定是时间延迟还是与运行测试有关。
    • 是的,@Obromios 也一样,我重新启动,更改了所有内容,重新安装了 rvm,重新安装了捆绑程序,所有 所有内容 都显示了正确的 Ruby,但我仍然收到失败消息。然后几个小时后它开始工作。但不幸的是,我确实必须经常在 Rubies 之间切换,以至于我可能不应该再使用 POW。
    猜你喜欢
    • 2014-01-14
    • 1970-01-01
    • 2014-02-04
    • 2016-10-05
    • 2022-01-05
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多