RubyTest在崇高的文字2
我想让RubyTest在Sublime Text 2中工作。我按照Github自述文件中的说明操作,得到以下错误。 有谁知道我可以解决这个问题?
/bin/sh: rspec: command not found
为了得到这个工作,你只需要改变sb2中的RubyTest包中的一个设置。
如果您正在使用rvm,则您的rspec gem通过rvm安装,并且在/ bin / sh中找不到
所以你需要为Sublime Text 2设置RubyTest包来自动检查你的rvm环境variables。
要改变什么:
1)在Sublime Text 2中,进入Preferences | Browse Packages。 这将打开你的软件包目录。
2)打开“RubyTest”目录并查找文件“RubyTest.sublime-settings”。
3)find这样一行:
"check_for_rvm": false,
并将其更改为:
"check_for_rvm": true,
保存更改。
4)就是这样。 它现在应该工作。
祝你好运
这对我工作:
如果您使用的是RVM,请使用项目文件夹中的命令行打开一个项目:
subl .
然后,它会挂钩ruby版本和gem。
这很可能是由于使用RVM。 什么是输出
which rspec
在你的命令行?
另外值得注意的是,仅仅因为你已经在Gemfile中包含rspec-rails,并不意味着“rspec”是你的系统知道的可执行程序。
您可以编辑RubyTest.sublime.settings来引用您的rspec可执行文件的特定path,它应该工作。
不幸的是,这有一个绑定到一个特定版本的Ruby的讨厌的副作用。 如果您使用RVM在版本之间切换,则必须更新sublime.settings。
一个解决办法就是从命令行运行Sublime。
用RubyTest插件运行Sublime Text 2(2165)。 用rbenv(0.3.0)pipe理Ruby和Gems。
首先尝试使用RubyTest提供了以下错误: /bin/sh: rspec: command not found
从命令行我跑which rspec
,它没有返回任何结果。
一些挖掘之后,我读了bundle install
不把可执行文件放在你的$ PATH。 备选的可执行path有时候不被垫片拾取
为了在应用程序外部使用可执行文件,我必须删除bundler安装的gem,然后手动安装它。
gem uninstall rspec
gem install rspec
其次是
rbenv rehash
( 注意你需要在你的应用程序中运行bundle
以便更新gem的位置)
这必须在rbenv控制下的每个版本的ruby中执行。
现在当我跑步
which rspec
它被发现在path和RubyTest是能够抓住它没有任何问题。
但是,我不得不重复黄瓜的步骤。 要使用RubyTests的所有function,ruby,cucumber和rspec可执行文件需要放在$ PATH中(对于rbenv来说,它是~/.rbenv/shims/
)。
尝试将path更改为usr/local/bin/
我写了一篇关于Sublime Text Build Scripts的文章,告诉你如何做到这一点。
同样的问题对我来说。 使用rspec 1.3.2我刚刚解决的问题是编辑插件文件夹中的RubyTest.sublime.settings文件,从以下位置更改“ruby_rspec_exec”键:
"ruby_rspec_exec": "rspec"
至
"ruby_rspec_exec": "spec"
这真的取决于你有你的rspec可执行文件的位置…
从repo中克隆安装RubyTest后,我遇到了同样的问题。 我只是卸载并重新使用包控制内Sublime包,然后一切正常。
你可以在这里看到这个问题的摘要: https : //github.com/maltize/sublime-text-2-ruby-tests/issues/36
从本质上讲,Jim说的是正确的,你正在运行RVM或者其他类似于你的PATH的ruby虚拟机pipe理器。 按照这个问题的指示,我做了以下工作:
在我的项目中安装二进制文件
bundle install --binstubs
将path添加到我的.bashrc并将其来源
echo 'export PATH="./bin:$PATH"' >> ~/.bashrc source ~/.bashrc
从命令行打开崇高的项目(这样在Sublime Text 2中可以使用PATH)
subl .
以下步骤为我工作(我遇到同样的错误作为OP):
-
通过包控制pipe理器安装RubyTest插件。 注意:如果你没有安装包pipe理器,我强烈推荐它来pipe理壮观的插件 – 更多信息在这里 。
-
一定要把这里的代码添加到你的RubyTest.sublime-settings文件中。 该文件可以在(从菜单):
Preferences -> Package settings -> RubyTest -> Settings User
-
保存文件,closuresSublime并重新启动Sublime从项目文件夹中的terminal使用(所以PATH在Sublime中可用):
subl .
不,你不需要改变path,从命令行运行崇高等。如果你使用的是RVM,你只需要这样做:
去崇高的文本2,去优化 – >包设置 – > RubyTests
并select设置 – 用户或设置 – 默认(取决于你正在使用的),并更改行:
"run_rspec_command": "rspec {relative_path}"
至
"run_rspec_command": "bundle exec rspec {relative_path}"
等等 – 为所有命令添加bundle exec
我花了很多时间与这个相同的问题挣扎! 我无法使用Michael Hartl的“Ruby on Rails教程”来运行Sublime Text 2中的rspec。 它一直在说:
/bin/sh: rspec: command not found
我终于意识到,RubyTest包( https://github.com/maltize/sublime-text-2-ruby-tests )正在寻找我的RVM的错误的地方!
在我的Mac上,RubyTest的path是/Library/Application Support/Sublime Text 2/Packages/Ruby Test
首先,为了让RubyTestfindRVM,我改变了RubyTest.sublime-settings中的参数
"check_for_rvm": false, to "check_for_rvm": true,
然后,我深入Python的代码run_ruby_test.py:https://github.com/maltize/sublime-text-2-ruby-tests/blob/master/run_ruby_test.py
在第151行,在类BaseRubyTask里面,我的RVM有错误的path:
rvm_cmd = os.path.expanduser('~/.rvm/bin/rvm-auto-ruby')
我把它改成了完整的正确path: rvm_cmd = os.path.expanduser('/usr/local/rvm/bin/rvm-auto-ruby')
如果这不是你的path,通过inputfind正确的path
$ which rvm-auto-ruby
代替它。
保存run_ruby_test.py后,我去了terminal,cd到我的Rails应用程序目录,并运行spork
最后,我在Sublime Text 2中打开了static_pages_spec.rb。现在所有的testing都是从它开始的!
如果你正在寻找捆绑支持,我已经find了一个我在这里发布的工作configuration
我正在使用rbenv,发现添加以下内容到我的.bashrc的伎俩
/Users/user/.rbenv/shims/rspec