在终端中安装 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】:我个人对第三方应用程序特定符号链接(例如subl
、brew
、github
、mate
等)路径的偏好是:
/usr/local/bin
为什么不/usr/bin/
?
/usr/bin
是一个“神圣”的地方。 一般建议存储由package management systems 维护的静态二进制文件。 subl
不是这种情况。
subl
不够稳定,无法与其他基本 BSD 二进制文件(例如 find
、man
、make
等)一起存储在 /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”,权限被拒绝?的主要内容,如果未能解决你的问题,请参考以下文章