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

Posted

技术标签:

【中文标题】在终端中安装 Sublime Text 的命令行工具“subl”,权限被拒绝?【英文标题】:Installing Sublime Text's command line tool 'subl' in terminal, permission denied? 【发布时间】:2012-04-29 02:24:58 【问题描述】:

我正在尝试从终端使用 Sublime Text,例如输入subl

我正在遵循 Sublime Text 网站上的步骤:

设置

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

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

我不断收到permission denied : ~/bin/subl: Permission Denied

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

【问题讨论】:

我使用的是 OS X Lion 笔记本电脑的管理员帐户 使用它:sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 我已经这样做了,但是 subl 命令对我不起作用...只是找不到命令。有什么想法吗? 【参考方案1】:

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

cd 
mkdir bin
sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

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

如果这仍然不起作用,您将不得不编辑您的 .bash_profile。您可以通过以下命令执行此操作:(注意:要使其正常工作,您需要已经完成上述步骤。)

    打开你的 .bash_profile:

    cd                  // this will get you back to home directory
    vim .bash_profile   // this will open your .bash_profile file
    

    编辑 .bash_profile:按 I 进入“插入”模式并添加以下内容:

    export PATH=$PATH:~/bin
    

    保存并退出。按 Esc 进入命令模式:

    :wq   // saves and close file
    exit  // exits terminal
    

    重新打开终端:

    subl --help
    

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

【讨论】:

在这篇文章之前我一直在尝试编辑 bash_profile 但没有重新启动终端。没用...现在完成了!耶! 为什么要在主文件夹中创建 bin 目录,然后创建指向 /usr/bin/subl 的符号链接? 你会认为有人会发出“brew install subl”命令...不...错误:没有 subl 的可用公式 @MartinCleaver 你应该检查 brew cask。 github.com/caskroom/homebrew-cask 安装后,您可以执行诸如 brew cask install sublime-text 之类的操作【参考方案2】:

我个人对第三方应用程序特定符号链接(例如sublbrewgithubmate 等)路径的偏好是:

/usr/local/bin

为什么不/usr/bin/

    /usr/bin 是一个“神圣”的地方。 一般建议存储由package management systems 维护的静态二进制文件。 subl 不是这种情况。

    subl 不够稳定,无法与其他基本 BSD 二进制文件(例如 findmanmake 等)一起存储在 /usr/bin 中。如果 (a) Sublime Text Editor 的开发人员决定在未来的版本中更改其应用程序名称(如 6.1 版之后的 BBEdit Lite was changed to TextWrangler),或者 (b) 您可能只是希望卸载 Sublime 文本编辑器。


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

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

【讨论】:

【参考方案3】:

检查路径中是否包含“~/bin/”。

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

sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl

【讨论】:

输入“echo $PATH”查看路径。寻找 /usr/bin:/bin:如果它在那里,那么上面的命令应该可以正常工作,它对我有用。感谢 user1427458

以上是关于在终端中安装 Sublime Text 的命令行工具“subl”,权限被拒绝?的主要内容,如果未能解决你的问题,请参考以下文章

在sublime text3中安装git插件

Sublime Text中安装插件来实现px与rem间的换算

无法在 Sublime text 2 中安装包控件

在Sublime Text3中安装Emmet插件

ubuntu 中安装sublime-text3

Sublime Text中安装插件来实现px与rem间的换算