我在 OS X 10.8.4 上使用 Ruby on Rails 和 Sublime Text 3 开发 Web 应用程序。我最近安装了包RubyTest。测试仅在使用命令启动 Sublime 时有效
subl
在终端。否则我会收到错误消息:
/bin/sh: rspec: command not found
我认为情况就是这样。RubyTest 在 github 上的自述文件中暗示了这一点。
但是我想保留从码头发射的能力。有没有办法我可以做到这一点?
我在 OS X 10.8.4 上使用 Ruby on Rails 和 Sublime Text 3 开发 Web 应用程序。我最近安装了包RubyTest。测试仅在使用命令启动 Sublime 时有效
subl
在终端。否则我会收到错误消息:
/bin/sh: rspec: command not found
我认为情况就是这样。RubyTest 在 github 上的自述文件中暗示了这一点。
但是我想保留从码头发射的能力。有没有办法我可以做到这一点?
不幸的是,OSX 应用程序不会使用您$PATH
在终端中设置的变量。要更改 Mountain Lion 中的内部 PATH 设置(此方法尚未在以前的版本中测试过,尽管它应该可以工作),您需要编辑/etc/launchd.conf
:
确保您具有管理员权限。
打开终端或您最喜欢的替代品,看看文件中是否有任何内容/etc/launchd.conf
:
cat /etc/launchd.conf
如果您收到类似的错误
cat: /etc/launchd.con: 没有这样的文件或目录
然后继续下一步。如果该cat
命令确实显示了一些内容,请将其复制到剪贴板。
创建一个包含以下内容的新文本文件,并根据您的需要进行修改:
setenv PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/YourUserName/bin:/path/to/gems/bin
如果cat
命令在上一步中显示了一些内容,请将其粘贴到命令之前的新文件中setenv PATH
。如果它已经包含setenv PATH
命令,只需修改它以添加您需要的目录,例如/path/to/gems/bin
将您的主目录( /Users/YourUserName
) 中的新文件另存为launchd.conf
.
返回终端并输入:
sudo mv ~/launchd.conf /etc
使用管理员权限将新文件移动到/etc
,替换之前的任何内容。根据您之前对该sudo
命令的使用,您可能会收到一条简短的“小心做您正在做的事情”的消息,但无论哪种方式,您都需要输入密码。/etc
除非您是真正的高级用户并且知道如何绕过 OSX 的文件系统限制,否则无法通过“保存”对话框直接访问。
重新启动计算机
你应该准备好了。如果你有兴趣,launchd
并且launchctl
使用csh
/tcsh
语法,那么你不能使用bash
/zsh
export PATH=/usr/local/bin:...
格式。