当我尝试从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时的变量相同。您是否有任何线索为什么我可能会收到此错误?

最佳答案

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

  • 使用此RVM命令,为要使用的gemset创建包装脚本:
    rvm wrapper ree@rails3 textmate
    

    这将为您的RVM安装添加一个名为textmate_ruby的新别名。您可能会说这是假设您使用的是Ruby Enterprise(ree)和一个名为rails3的gemset,但是任何RVM字符串都可以在这里使用。
  • 打开TextMate的首选项窗口,转到“高级”>“Shell变量”。您需要将TM_RUBY shell变量创建(或更新)为以下内容:
    /path/to/your/.rvm/bin/textmate_ruby
    

    如果您的RVM安装在用户目录中(例如我的目录),则将是:
    /Users/[YOUR USER NAME HERE]/.rvm/bin/textmate_ruby
    
  • (可选)您可能还需要/想要设置RUBYOPT shell变量,以指示Ruby加载rubygems。为了使某些 bundle (如RSpec)正常工作,这可能是必需的。只需将值设置为rubygems即可。

  • 这应该是您所需要的。

    关于ruby-on-rails - Textmate Rails3没有此类文件可加载— bundler ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3663585/

    10-13 02:11