如何在OS X上安装ack?

时间:2014-12-11 17:27:44

标签: macos terminal osx-yosemite ack

我曾经做过一次,但后来忘记了怎么做。我似乎记得在" opt"中使用了ack.pl文件。目录接近我Mac上的根级别。我还记得我需要在~/.profile~/.bash_profile等处更新我的路径设置。我希望有人可以填写空白,并提供有关如何正确执行此操作的详细说明。

  • 请注意,我想知道如何在不使用任何第三方软件/软件包管理器(Homebrew,MacPorts等)的情况下执行此操作。

2 个答案:

答案 0 :(得分:2)

好的 - 我自己找到了答案。这是我在OS X 10.10 Yosemite上做的事情(没有“opt”目录,没有/在/.profile中编辑我的$ PATH等等)......

1 - 在目录/ usr / local / bin上设置权限,以便为每个人提供读/写访问权限。

  

(来自终端的chmod 777 - 或者来自Finder的命令+ i,并将all设置为“Read& Write”)

2 - 然后从终端运行以下命令......

curl http://beyondgrep.com/ack-2.14-single-file > /usr/local/bin/ack && chmod 0755 /usr/local/bin/ack

  

(显然http://beyondgrep.com上文件的路径会随着发布较新版本而发生变化,因此请根据 - http://beyondgrep.com/install/

中的信息相应地更新此地址

3 - 将/ usr / local / bin上的读/写权限更改回755 (仅“系统”的“读取和写入”,“轮”和“每个人”组设置为“只读”)

就是这样!

答案 1 :(得分:0)

有几个选项,但在此之前,您需要启动Terminal.app(或iTerm.app,如果您使用iTerm2)和cd到您保存的目录ack.pl( prbly cd ~/Downloads)并且做:

$ chmod a+x ack.pl

所以它是可执行的。你可以用以下方法测试:

$ ./ack.pl --version
ack 2.14
Running under Perl 5.18.2 at /usr/bin/perl

Copyright 2005-2014 Andy Lester.

This program is free software.  You may modify or distribute it
under the terms of the Artistic License v2.0.

如果你没有得到类似输出的内容,那么下载就会有些不可思议。

要使其仅ack.pl可用(您也可以将其重命名为ack btw),您可以执行以下操作:

$ sudo mv ack.pl /usr/bin

将把它放在PATH

中已有的位置

如果您安装了其他非Apple命令行软件工具,那么您可能已经设置了/usr/local/bin。你可以用以下方法测试:

$ ls -ald /usr/local/bin
drwxr-xr-x  861 bob  admin  29274 Dec  9 15:44 /usr/local/bin

$ echo $PATH | grep -c /usr/local/bin
1

如果您没有得到与这两个结果类似的内容,那么您就无法轻松访问/usr/local/bin(因此您可以跳过以下mv)。如果你有类似于两个结果的东西,那么你可以通过以下方式使用该位置:

$ sudo mv ack.pl /usr/local/bin

(我只使用sudo来避免潜在的权限问题,对于sudo移动,它可以正常工作/usr/local/bin

如果这些都不可接受,那么你可以这样做:

$ mkdir ~/bin # it won't do anything bad if you already have one
$ mv ack.pl ~/bin

然后修改您的.profile并在末尾添加一行:

export PATH=~/bin:$PATH

完全退出终端并重新登录,您应该可以在没有前缀的任何shell提示符下输入ack.pl,它应该运行。