Как я могу установить и использовать библиотеку ack в Windows?

65

Я никогда не использовал Perl, но меня действительно впечатлил ack, который я хотел бы использовать для поиска исходного кода и т.д.

Может ли кто-нибудь объяснить мне, как использовать эту превосходную библиотеку в Windows?

Теги:
ack

8 ответов

78
Лучший ответ

Начните с установки perl http://strawberryperl.com/

Установите App:: Ack, набрав (в командной оболочке Windows)

C:\>cpan App::Ack

И, несомненно, это окажется полезным http://learn.perl.org/

  • 6
    Обратите внимание, что при использовании портативной версии strawberryperl каталог strawberryperl не должен содержать пробелов, в противном случае возникают странные ошибки.
  • 0
    Подсказка: cpanm(1) намного проще в использовании, чем cpan(1) , и он также доступен в Strawberry Perl.
36

Не все тесты проходят во всех версиях Windows. Вы, скорее всего, получите 100% -ную функциональность от ack, даже если тесты установки не пройдут. Вот команда принудительной установки, если неудачные тесты не позволяют нормальной установке:

perl -MCPAN -e "CPAN::Shell->force(qw(install App::Ack));"
  • 3
    Спасибо, это позволило мне установить его! : D
  • 1
    Обновился до 1.9.4, наконец-то !!
Показать ещё 2 комментария
30

Если у вас уже установлен msysgit, вам не нужно устанавливать Perl, потому что у вас уже есть версия. Вам просто нужно скачать автономную версию ack и поместить ее где-нибудь в bash путь 1. Затем вы можете запустить ack из своего приглашения msysgit bash.

Если вы также хотите иметь возможность запускать ack из командной строки Windows, вам нужно будет создать пакетную версию script где-нибудь в вашем пути Windows 2 с содержимым:

@"C:\Program Files\Git\bin\perl" C:\path\to\ack-standalone.pl %*

(Вам, вероятно, нужно будет отредактировать приведенные выше пути, чтобы соответствовать вашей установке msysgit и где вы разместили ack script.)

<суб > 1: Я просто застрял в каталоге mysysgit bin: C:\Program Files\Git\bin\ack. Это не самое разумное место для него, но оно работает.
2: Опять же, я просто создал файл ack.bat в каталоге bin msysgit C:\Program File\Git\bin.

  • 5
    Я просто ack-standalone.pl в C:\Program Files\Git\bin , используя имя файла ack (без расширения). После этого работал ack от Git Bash. Пакетные файлы или изменение пути не требовалось.
  • 2
    @Grilse Да, я говорю это в своем ответе (хотя, думаю, я мог бы сформулировать это более четко). Пакетные файлы и изменение пути необходимы, если вы хотите, чтобы скрипт запускался из командной строки Windows. (Что также я мог бы объяснить лучше.)
Показать ещё 2 комментария
20

Если у вас установлен cygwin, вы можете просто загрузить автономную версию. Perl устанавливается с cygwin. Вот шаги:

$ vim .bash_profile

Удалите комментарии из строк:

# if [ -d "${HOME}/bin" ] ; then
#  PATH="${HOME}/bin:${PATH}"
# fi

Загрузите изменения:

$ source .bash_profile

Создайте каталог bin:

$ mkdir ~/bin

Загрузить ack (с домашней страницы):

$ curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755 !#:3

Примечание: вам придется вручную установить завиток, поскольку по умолчанию он не поставляется с cygwin.

  • 1
    Строки, которые вы закомментировали в .bash_profile - это строки, которые проверяют ~/bin прежде чем добавить его в путь. Поскольку вы создаете каталог bin, проверки могут остаться, и он будет работать (и должен оставаться в случае удаления каталога bin).
  • 1
    После установки cygwin все 3 строки закомментированы. Как я указал, вы должны удалить комментарии. Я не уверен, почему в средней строке отсутствовал символ комментария, но я отредактировал его и добавил обратно.
Показать ещё 2 комментария
19

Вы также должны запустить следующую команду, чтобы включить подсветку цвета: cpan Win32:: Console:: ANSI

  • 1
    Это должен быть комментарий, а не ответ, так как это не ответ.
5

Мне пришлось заставить cpan установить App::Ack, поскольку некоторые из тестов не прошли:

C:\> cpan
cpan> force install App::Ack
cpan> q
0

Вы можете установить ack через cpan:

установить клубнику perl

запустить cmd как admin

установить ack:

cpan > force install App:: Ack

он должен работать оттуда, следуя этому руководству: http://www.jeedo.net/how-to-install-ack-on-windows-10/

Работал без каких-либо задержек.

0

В зависимости от того, как вы относитесь к установке предварительно созданных двоичных файлов из проектов с открытым исходным кодом, вы также можете рассмотреть Silver Searcher (ag). Он совместим с ОС и быстрее, чем Ack. Он также доступен в Linux из репозиториев в последних дистрибутивах.

http://blog.kowalczyk.info/software/the-silver-searcher-for-windows.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню