我一直无法修改添加Sublime Text 2的路径。我添加了~/bin
目录和run this command:
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
子链接显示在~/bin
中。但我需要将~/bin
目录添加到我的路径中。我对此很新,我不知道我的路在哪里。我环顾四周,发现可能的文件是.profile
,.bash_profile
或.bashrc
我没有.bash_profile
。致.profile
和.bashrc
我添加了
PATH=$PATH:~/bin/subl
export PATH
这是正确的添加吗?如果是这样,我应该在哪里添加它?
当我echo $PATH
时,我得到:
/Users/<username>/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/bin:/Users/<username>/.rvm/gems/ruby-1.9.3-p194@global/bin:/Users/<username>/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
当我输入subl
时,我得到:
-bash: subl: command not found
谢谢!
P.S。我以前安装了Macports,它修改了我的.profile
文件。不确定这与它有什么关系 - 我现在不知道默认的.profile
是什么样的。
答案 0 :(得分:87)
我和你一样陌生,这意味着我甚至不确定如何阅读与修改PATH相关的一半内容。最后,虽然我找到了一种方法来做到这一点,不需要你将subl放入.rvm / bin(因为那是其他的东西),但在其适当的目录中,这是〜/ bin。
转到您的终端并输入:
open -a Finder /usr/bin
这将打开您的Finder到/ usr / bin目录。一旦你在那里打开一个新的Finder,转到应用程序,右键单击Sublime Text图标并转到Show Package Contents,然后转到Contents,SharedSupport,bin。复制subl文件并将其粘贴到显示/ usr / bin
的其他Finder中就是这样!您应该设置为使用命令:
subl . (or subl file.name)
答案 1 :(得分:47)
所有评论的Instread在这里。您需要在/usr/local/bin
中添加符号链接到sublime。它不需要root访问权限。而且不需要创建另一个bin目录。
对于Sublime Text 2
ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/
对于Sublime Text 3
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/
答案 2 :(得分:37)
zsh更新 出于某种原因,当我最近从bash切换到zsh / prezto时,我路径中的“〜/ bin”无效。我将其更改为“/ Users / myusername / bin”,它再次正常工作。我会找到原因,并在找到它时更新。如果你有更好的解决方案,请评论。
我知道这是一篇旧帖子,但我想我会为其他任何试图按照instructions given by sublimetext跟踪OSX命令行的sublime的人提供解决方案。 Sublime text 3的更新 Sublime Text 3 Documentation
1)在主目录“〜/”
中创建一个名为“bin”的目录mkdir ~/bin
2)在您刚刚创建的新目录中创建指向您的sublime text 2 app的符号链接
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
Sublime Text 3 应用路径的更新略有不同:
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl
3)按照Ryan Hoffman关于如何在OSX中轻松添加路径的说明:add to the path on Mac OSX使用他的技术将新创建的“〜/ bin”添加到路径中。完成后你的/ etc / paths文件看起来像这样(注意结尾〜/ bin):
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
~/bin
4)打开一个新的终端窗口,从命令行开始使用subl。
答案 3 :(得分:11)
您无需执行PATH=$PATH:~/bin/subl
。相反,PATH=$PATH:~/bin
就足够了。这样,您告诉shell查看~/bin
二进制文件。使用您的命令,您告诉shell查看二进制文件的“文件夹”~/bin/subl
,这不起作用。此外,您无需在两个文件中添加命令。在.bashrc
中添加一次。我不是bash
专家,但我建议您阅读this blog post以获取有关不同启动文件的进一步说明。
答案 4 :(得分:7)
我想为这个问题提出另一种解决方案。使用路径中已有的目录。像这样:
$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
TL;博士
我在Yosemite(OS X 10.10)中遇到了同样的问题,在全新安装的操作系统中,〜/ bin目录不存在且不在您的路径中。然而,在路径中已经有很多有用的地方可以将符号链接放到Sublime上。
例如,以下是我路径中的项目(使用$ echo $PATH
获取列表):
/Applications/Postgres.app/Contents/Versions/9.3/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin:/usr/local/bin
/usr/local/mysql/bin
您可以通过将标有~/bin/subl
的部分更改为/usr/local/bin/subl
因此,运行以下命令将实现您的目标。
$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
答案 5 :(得分:3)
您需要先创建一个指向/usr/bin
的符号链接。符号链接 - 或SymLink - 是目录的别名或快捷方式。请按以下步骤操作:
首先,确保使用终端命令行
进入主目录 cd ~
创建指向usr/bin
目录的符号链接。
ln -s /usr/bin bin
ln
=创建链接,-s
=符号,后跟[target diectory]
和[name of link]
测试新链接
cd bin
这会将您带到~/bin
- 与/usr/bin
相同。 ~
表示隐藏在内部的长路径。
现在,返回到您的主文件夹以安装subl
命令
cd ~
安装Sublime Text 2命令行工具。我将使用sudo
来绕过任何权限块。
sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
你应该好好去!只需输入subl
作为命令行进行测试,它就应该从终端启动Sublime Text 2.
答案 6 :(得分:2)
遇到了同样的挑战,最后只创建了一个.bash_profile文件,并直接在那里添加了路径语句。工作没有事故。你可能还想查看Alvin Alexander的样本.bash_profile帖子(http://alvinalexander.com/blog/post/mac-os-x/sample-mac-osx-bashrc-terminal-startup-file) - 我还发现了一些其他有用的命令。
答案 7 :(得分:2)
在终端上做到这一点:
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
这就是我存储Sublime的地方,尝试输入Sublime的路径,因为你的版本可能不同。
subl .
应该可以正常工作。
答案 8 :(得分:2)
我最近一直在努力解决这个问题。我意识到~
没有扩展到路径中的主目录。至少它不适合我。
这就是我做的工作。
export PATH=$PATH:$HOME/bin
根据我发现的brew cask的一些后续说明,我的subl
已从应用程序目录链接到我的~/bin
。不幸的是,路径从未更新。
答案 9 :(得分:1)
以下是执行此操作的完整说明(适用于 Sublime Text 3 ):
请通过以下命令检查系统完整性保护状态:
$ csrutil status
如果已启用,请按以下步骤操作:
重新启动计算机并在启动时按住Command + R,启动到OS X的恢复操作系统。
从“工具”菜单启动终端。
运行以下命令:
$ csrutil disable
$ reboot
这是因为OS X的安全功能称为系统完整性保护,可防止对系统位置和进程进行未经授权的访问。因此,如果此功能启用,您将无法修改/ usr / bin的内容。
从 / usr / bin 创建一个符号链接到〜/ bin :
$ sudo ln -s /usr/bin ~/bin
从Sublime Text 3 CLI工具创建一个符号链接到〜/ bin :
$ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin
测试它。
$ subl .
答案 10 :(得分:1)
echo $PATH
并使用其中一条路径。在这个例子中&#34; / usr / local / bin&#34;
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
如果系统返回No such file or directory
sudo mkdir /usr/local/bin/
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
测试它是否有效
subl
这是Sublime Text 3。
答案 11 :(得分:0)
跟我一起工作。我有Sublime版本3并在此处发布,如果有人正在寻求帮助:
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl
答案 12 :(得分:0)
在优胜美地看来这个命令实际上是针对Sublime 3的,但我可能会弄错:
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/