在Mac OS X中从dock运行脚本

时间:2013-09-01 11:12:47

标签: ruby-on-rails macos path sublimetext3 ruby-test

我正在OS X 10.8.4上使用Ruby on Rails和Sublime Text 3开发Web应用程序。我最近安装了包RubyTest。只有在使用命令

启动Sublime时,测试才有效
subl

在终端。否则我收到错误消息:

/bin/sh: rspec: command not found

我认为情况就是这样;这是在RubyTest的github自述文件中暗示的。

但是我想保留从码头发射的能力。有没有办法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

不幸的是,OSX应用程序无法接收终端中设置的$PATH变量。要更改Mountain Lion中的内部PATH设置(此方法尚未使用以前的版本进行测试,尽管它应该有效),您需要编辑/etc/launchd.conf

  1. 确保您拥有管理员权限。

  2. 打开终端或您最喜欢的替代品,查看文件/etc/launchd.conf中是否有任何内容:

    cat /etc/launchd.conf
    

    如果您收到错误

      

    cat:/etc/launchd.con:没有这样的文件或目录

    然后继续下一步。如果cat命令确实显示某些内容,请将其复制到剪贴板。

  3. 创建一个包含以下内容的新文本文件,并根据您的需要进行修改:

    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

  4. 将新文件保存在您的主目录/Users/YourUserName)中launchd.conf

  5. 返回终端并输入:

    sudo mv ~/launchd.conf /etc
    

    使用管理员权限将新文件移至/etc,替换之前的任何内容。根据您以前对sudo命令的使用情况,您可能会得到一个简短的“小心做您正在做的事情”的消息,但无论哪种方式,您都需要输入密码。除非您是真正的超级用户且知道如何解决OSX的文件系统限制,否则无法通过“保存”对话框直接访问/etc

  6. 重新启动计算机

  7. 你应该全力以赴。如果您有兴趣,launchdlaunchctl会使用csh / tcsh语法,因此您无法使用bash / zsh export PATH=/usr/local/bin:...格式。