我正在OS X 10.8.4上使用Ruby on Rails和Sublime Text 3开发Web应用程序。我最近安装了包RubyTest。只有在使用命令
启动Sublime时,测试才有效subl
在终端。否则我收到错误消息:
/bin/sh: rspec: command not found
我认为情况就是这样;这是在RubyTest的github自述文件中暗示的。
但是我想保留从码头发射的能力。有没有办法可以做到这一点?
答案 0 :(得分:2)
不幸的是,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
命令的使用情况,您可能会得到一个简短的“小心做您正在做的事情”的消息,但无论哪种方式,您都需要输入密码。除非您是真正的超级用户且知道如何解决OSX的文件系统限制,否则无法通过“保存”对话框直接访问/etc
。
重新启动计算机
你应该全力以赴。如果您有兴趣,launchd
和launchctl
会使用csh
/ tcsh
语法,因此您无法使用bash
/ zsh
export PATH=/usr/local/bin:...
格式。