当我尝试在 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。这可能是使某些包(如 RSpec)工作所必需的。只需将值设置为rubygems
。
这应该是您所需要的。
关于ruby-on-rails - Textmate Rails3 没有这样的文件要加载 — bundler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663585/