在终端中安装Sublime Text的命令行工具'subl',权限被拒绝?

Geo*_*man 53 terminal osx-lion sublimetext

我尝试使用来自终端的Sublime Text,例如输入subl.

我正在按照Sublime Text网站的步骤进行操作:

建立

第一个任务是创建一个符号链接到subl.假设您已将Sublime Text 2放在Applications文件夹中,并且路径中有〜/ bin目录,则可以运行:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
Run Code Online (Sandbox Code Playgroud)

我一直在 permission denied : ~/bin/subl: Permission Denied

我一直在寻找类似的问题,但找不到适用的问题.有人能指出我正确的方向吗?

Sub*_*ash 104

我假设你没有bin目录.您可以执行以下操作:

cd 
mkdir bin
sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
Run Code Online (Sandbox Code Playgroud)

ln -s 将在bin目录中创建subl文件的别名,您将能够运行该命令.

如果仍然无效,则必须编辑.bash_profile.您可以通过以下命令来执行此操作:(注意:为此,您需要完成上述步骤.)

  1. 打开你的.bash_profile:

    cd                  // this will get you back to home directory
    vim .bash_profile   // this will open your .bash_profile file
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编辑.bash_profile:按I进入"插入"模式并添加以下内容:

    export PATH=$PATH:~/bin
    
    Run Code Online (Sandbox Code Playgroud)
  3. 保存并退出.按Esc进入命令模式:

    :wq   // saves and close file
    exit  // exits terminal
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重新打开终端:

    subl --help
    
    Run Code Online (Sandbox Code Playgroud)

这应该会为Sublime Text带来帮助.


mel*_*kim 42

My personal preference for the path to the third-party application-specific symbolic links (e.g. subl, brew, github, mate, etc) is:

/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

Why not /usr/bin/?

  1. /usr/bin是一个"神圣"的地方.这是一般建议来存储维护静态二进制包管理系统.subl不是这种情况.

  2. subl是不稳定的,足以被存储在/usr/bin与其它基本BSD二进制文件(例如find,man,make等等).subl如果(a)Sublime Text Editor的开发人员决定在将来的版本中更改其应用程序名称(因为BBEdit Lite在版本6.1之后更改为TextWrangler),或者(b)您可能只是希望,则必须手动修改/删除符号链接卸载Sublime Text Editor.


因此,我建议您执行以下行,假设/usr/local/bin/存在:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)


小智 15

检查路径中是否包含"〜/ bin /".

更好的选择是在/ usr/bin目录中创建符号链接.

sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
Run Code Online (Sandbox Code Playgroud)