【问题标题】:Rake uses jruby instead of ruby after jruby install安装 jruby 后,Rake 使用 jruby 而不是 ruby
【发布时间】:2010-04-13 19:30:22
【问题描述】:

我最近在一台也安装了 ruby​​ 的机器上安装了 jruby。当我这样做时

rake something 现在似乎正在使用 jruby 解释器。我想 rake 使用 ruby​​ 解释器。如有任何帮助,我将不胜感激。

【问题讨论】:

    标签: ruby rake jruby


    【解决方案1】:

    你在哪个平台上? which rakewhich rubywhich jruby 的输出是什么?你是如何安装 jruby 的?

    我要冒昧地猜测一下,无论您安装了 jruby,它都会覆盖您的“纯”ruby 二进制文件。根据平台和 jruby 的安装方式,有多种方式可能会发生这种情况,例如PATH修改,更新替代等。

    我的/usr/bin/rake 开头为:

    #!/usr/bin/env ruby
    

    因此,如果我修改了我的 PATH 以便首先出现 jruby 安装目录并且 jruby 可执行文件被别名为 ruby​​,那么 rake 调用 /usr/bin/env ruby 调用 jruby。

    最简单的解决方案(在 bash shell 中)是:

    alias rake='/usr/bin/ruby /usr/bin/rake'
    

    缺点是这个解决方案只会帮助你,如果你试图从 shell 提示符以外的地方调用 rake,它可能会也可能不会可用。

    我希望这足以为您指明正确的方向。

    【讨论】:

      【解决方案2】:

      检查您的 PATH 环境变量(在 *nix 上为 $PATH,在 Windows 上为 %PATH%)。当你输入 'rake' 时,系统会选择它在你的 PATH 中找到的第一个二进制文件,所以如果 jruby 出现得更早,将使用 jruby 的 rake 版本。

      解决办法:调整PATH变量,将jruby放在PATH末尾。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多