【问题标题】:How to get project to use JRuby instead of Ruby on Windows如何让项目在 Windows 上使用 JRuby 而不是 Ruby
【发布时间】:2014-10-09 00:52:33
【问题描述】:

我正在尝试在 Windows VM 上建立 JRuby/Ruby-on-Rails 环境。结果,我安装了 Ruby、Rails 和 RailsInstaller 下载的项目。然后我安装了JRuby。一切都已安装,当我执行jruby -vruby -v 时,我都看到了。

如何让我的 Rails 项目识别 JRuby 而不是 Ruby?我可以在不安装 RVM 的情况下实现这一目标吗?我是否应该在 Windows VM 上安装 RVM(我试图避免,但也许我不应该)?我只是在Gemfile 中添加一行吗?

(我在 JRuby/Ruby-on-Rails 方面非常有限的经验是在 Unix 环境中使用 RVM。)

这是我执行gem env 时的输出:

RubyGems Environment:
 - RUBYGEMS VERSION: 2.1.9
 - RUBY VERSION: 1.9.3 (2014-09-25 patchlevel 392) [java]
 - INSTALLATION DIRECTORY: C:/jruby-1.7.16/lib/ruby/gems/shared
 - RUBY EXECUTABLE: C:/jruby-1.7.16/bin/jruby.exe
 - EXECUTABLE DIRECTORY: C:/jruby-1.7.16/bin
 - SPEC CACHE DIRECTORY: C:/Users/user/.gem/specs
 - RUBYGEMS PLATFORMS:
   - ruby
   - universal-java-1.7
 - GEM PATHS:
    - C:/jruby-1.7.16/lib/ruby/gems/shared
    - C:/Users/user/.gem/jruby/1.9
 - GEM CONFIGURATION:
    - :update_sources => true
    - :verbose => true
    - :backtrace => false
    - :bulk_threshold => 1000
    - "install" => "--no-rdoc --no-ri --env-shebang"
    - "update" => "--no-rdoc --no-ri --env-shebang"
 - REMOTE SOURCES:
    - https://rubygems.org/
 - SHELL PATH:
    - C:\Windows\system32
    - C:\Windows
    - C:\Windows\System32\Wbem
    - C:\Windows\System32\WindowsPowerShell\v1.0\
    - c:\jruby-1.7.16\bin
    - C:\RailsInstaller\Git\cmd
    - C:\RailsInstaller\Ruby1.9.3\bin
    - C:\Program Files\jruby-1.7.16\bin

【问题讨论】:

  • gem env 输出什么?通过编辑和附加输出将其添加到您的问题中。
  • @theTinMan 我根据您的建议添加了 gem env 的输出。

标签: ruby-on-rails ruby windows jruby


【解决方案1】:

Rails 是一个 gem,它由 Rubygems 安装在 Ruby 安装中,Rubygems 是 Ruby 发行版的一部分。您的路径设置设置为 gem 命令来自 Ruby 而不是来自 JRuby。您可以暂时从路径中删除所有 Ruby 命令,只要 JRuby 的命令在路径上,它就会自动选择这些命令。

通过执行gem install bundlerbundle install,您将安装Rails 以及使用JRuby 的所有项目依赖项。

但是,版本管理器实际上就是这样做的。他们只是正确地切换路径设置。使用它们可以大大简化开发环境的配置。而且,对于 Windows,有 pik(RVM 仅适用于 Unix 系统)。

【讨论】:

  • 为了准确,RVM 在 *nix(Unix 和 Linux 变体,包括 Mac OS)上运行。
  • Pik 似乎已经过时了。它安装了旧的 ruby​​ 和 jruby 版本。我的印象是没有人维护它。
  • 嗯。上次提交 2 年前。这很可悲。不幸的是,ruby 和 windows 的体验非常普遍。实际上,您的 gem env 说它正在使用 jruby,因为它在 ruby​​ 之前的路径上。
  • :) 确实很伤心。不过,我会检查 uru。我安装了 jruby,并确保它在 ruby​​ 之前肯定在 PATH 上。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 2018-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多