【问题标题】:Textmate Rails3 no such file to load — bundlerTextmate Rails3 没有要加载的文件 - 捆绑器
【发布时间】:2010-09-07 23:55:00
【问题描述】:

当我尝试在 Rails3 中从 TextMate 运行测试时,我得到一个错误,我可以追溯到 boot.rb。当我尝试通过 textmate 运行 boot.rb 时出现此错误:

LoadError: no such file to load — bundler

method gem_original_require in custom_require.rb at line 31
method require  in custom_require.rb at line 31
at top level    in boot.rb at line 4

这甚至是在一个全新的 Rails 项目中。我可以从终端调用运行相同的 boot.rb 文件

ruby <path_to>/boot.rb

我可以验证我的 TM_RUBY 变量是否与我从命令行调用 which ruby 时相同。你知道为什么我可能会收到这个错误吗?

【问题讨论】:

  • (评论补充说我们已经确定是的,捆绑器 gem 已安装。)
  • 可能是没有设置 GEM_PATH 环境变量..?
  • 听起来您的测试中配置错误并且没有足够的回溯,我认为我无法提供进一步的帮助。此外,尝试更新 Textmate 中的捆绑包,因为它们可能有问题。顺便说一句,我的也不行! :-/

标签: ruby-on-rails ruby textmate bundler


【解决方案1】:

我在使用 TextMate 和 RVM 时遇到了同样的问题。你需要做什么:

  1. 使用以下 RVM 命令为您要使用的 gemset 创建一个包装脚本:

    rvm wrapper ree@rails3 textmate
    

    这将为您的 RVM 安装添加一个名为 textmate_ruby 的新别名。正如您可能会说的那样,假设您使用的是 Ruby Enterprise (ree) 和一个名为 rails3 的 gemset,但任何 RVM 字符串都可以在这里使用。

  2. 打开 TextMate 的首选项窗口,进入高级 > 外壳变量。您需要创建(或更新)TM_RUBY shell 变量如下:

    /path/to/your/.rvm/bin/textmate_ruby
    

    如果您的 RVM 安装在您的用户目录中(如我的),那将是:

    /Users/[YOUR USER NAME HERE]/.rvm/bin/textmate_ruby
    
  3. (可选)您可能还需要/想要设置 RUBYOPT shell 变量,以指示 Ruby 加载 ruby​​gems。这可能是使某些包(如 RSpec)工作所必需的。只需将值设置为rubygems

这应该就是你所需要的。

【讨论】:

    【解决方案2】:

    我发现使用rvm-auto-ruby 方法最简单。

    使用which 定位rvm-auto-ruby 二进制文件:

    $ which rvm-auto-ruby
    

    结果是自动加载二进制文件的路径:

    /Users/yourusername/.rvm/bin/rvm-auto-ruby
    

    将此路径添加到 TextMate 下:Preferences -> Advanced -> Shell Variables

    它的作用类似于指向您的 Ruby 活动版本的别名。

    截图:http://cl.ly/23Yl

    这些说明可在 RVM 网站上找到:https://rvm.io/integration/textmate/

    【讨论】:

    • 您使用的是 Rails 4.2 和 Ruby 2.2 吗?它有效吗?当我执行 textmate 包并加载 boot.rb: crash when execution require 'bundler/setup' 时,我无法使其工作
    【解决方案3】:

    为了让 TextMate 使用与命令行相同的 RVM Ruby 解释器,我执行了以下操作:

    • 在命令行上,输入which ruby - 对我来说,这是/Users/mgp/.rvm/gems/ruby-1.9.2-p180/bin/ruby
    • 在 TextMate 首选项中,我在 PATH shell 变量的前面添加了 /Users/mgp/.rvm/gems/ruby-1.9.2-p180/bin
    • 在 TextMate 首选项中,我添加了一个新的 shell 变量 GEM_PATH,其值为 /Users/mgp/.rvm/gems/ruby-1.9.2-p180:/Users/mgp/.rvm/gems/ruby-1.9.2-p180@global

    【讨论】:

      【解决方案4】:

      这可能是因为您正在使用 RVM(ruby 版本管理器)而 textmate 不知道。

      rake 测试是否可以从命令行运行?

      【讨论】:

      • rake 测试确实可以从命令行工作,我正在使用 RVM。
      猜你喜欢
      • 2013-06-16
      • 2011-04-21
      • 2011-09-05
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多