Sublime Text 2中的RubyTest

Cha*_*rdy 41 ruby rspec sublimetext

我试图让RubyTest在Sublime Text 2中工作.我遵循Github自述文件中的指令并得到以下错误.有谁知道我怎么解决这个问题?

/bin/sh: rspec: command not found
Run Code Online (Sandbox Code Playgroud)

小智 63

要使其工作,您只需要在sb2中更改RubyTest包中的一个设置.

如果你使用rvm,你的rspec gem是通过rvm安装的,在/ bin/sh中找不到

因此,您需要为Sublime Text 2设置RubyTest包以自动检查您的rvm环境变量.

要改变什么:

1)在Sublime Text 2中,转到"首选项"|"浏览包".这将打开您的包目录.

2)打开'RubyTest'目录并查找文件'RubyTest.sublime-settings'.

3)找到说:

"check_for_rvm": false,
Run Code Online (Sandbox Code Playgroud)

并将其更改为:

"check_for_rvm": true,
Run Code Online (Sandbox Code Playgroud)

保存更改.

4)就是这样.它现在应该工作.

祝好运

  • 这非常有效,而且比其他答案更容易. (4认同)

ela*_*ado 42

这对我有用:

如果您正在使用RVM,请从项目的文件夹中使用命令行打开项目:

subl .
Run Code Online (Sandbox Code Playgroud)

然后,它将挂钩红宝石版本和宝石.


Jim*_*ton 7

这很可能是由于使用RVM.什么是输出

which rspec
Run Code Online (Sandbox Code Playgroud)

在你的命令行?

另外值得注意的是,仅仅因为你在Gemfile中包含了rspec-rails,并不意味着'rspec'是你的系统知道的可执行程序.

您可以编辑RubyTest.sublime.settings来引用指向rspec可执行文件的特定路径,它应该可以工作.

不幸的是,这具有与一个特定版本的Ruby绑定的令人讨厌的副作用.如果您使用RVM在版本之间切换,则必须更新sublime.settings.

一个解决方法是从命令行运行Sublime.

  • 通过运行subl打开我的项目.来自终端对我来说是一个很好的解决方案! (3认同)

jas*_*ell 6

使用RubyTest插件运行Sublime Text 2(2165).Ruby和Gems使用rbenv(0.3.0)进行管理.

首次尝试使用RubyTest会出现以下错误: /bin/sh: rspec: command not found

从我运行的命令行 which rspec ,它没有返回任何结果.

经过一番挖掘后,我读到了bundle install不会将可执行文件放入$ PATH中. 有时候垫片没有拾取备用的可执行路径

为了在应用程序外部使用可执行程序,我不得不删除由bundler安装的gem,然后手动安装它.

gem uninstall rspec

gem install rspec

其次是

rbenv rehash(注意,您需要bundle在应用程序内部运行,以便更新gem的位置)

必须对我在rbenv控制下的每个版本的ruby执行此操作.

现在我跑的时候

which rspec

它位于路径中,RubyTest能够毫无问题地抓住它.

fwiw,我不得不重复黄瓜的步骤.要使用RubyTests的所有功能,ruby,cucumber和rspec可执行文件需要在$ PATH中(对于rbenv来说~/.rbenv/shims/).