Die Macports-Installation von ack erstellt keine korrekte ausführbare Datei

1816
qazwsx

Ich versuche, p5-app-ackPort von Mac-Ports zu installieren, aber es scheint, als würde er /opt/local/bin/ackam Ende keine Binärdatei erstellen :

$ sudo port search *app-ack Password: p5-app-ack @1.960.0 (perl) A grep replacement that ignores .svn/CVS/blib directories  p5.8-app-ack @1.960.0 (perl) A grep replacement that ignores .svn/CVS/blib directories  p5.10-app-ack @1.960.0 (perl) A grep replacement that ignores .svn/CVS/blib directories  p5.12-app-ack @1.960.0 (perl) A grep replacement that ignores .svn/CVS/blib directories  p5.14-app-ack @1.960.0 (perl) A grep replacement that ignores .svn/CVS/blib directories  p5.16-app-ack @1.960.0 (perl) A grep replacement that ignores .svn/CVS/blib directories  Found 6 ports. $ perl --version  This is perl 5, version 12, subversion 4 (v5.12.4) built for darwin-thread-multi-2level  Copyright 1987-2010, Larry Wall  Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit.  Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.  $ sudo port install p5-app-ack ---> Computing dependencies for p5-app-ack ---> Cleaning p5-app-ack ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 35.0% ---> No broken files found. $   $ ls /opt/local/bin/ac*  /opt/local/bin/ack-5.12 /opt/local/bin/aclocal /opt/local/bin/aclocal-1.12 /opt/local/bin/activation-client /opt/local/bin/acyclic $ which ack $ ack -bash: ack: command not found 

Aktualisieren

Wenn ich dann versuche, p5.12-app-ackdanach zu installieren, bekomme ich

$ sudo port install p5.12-app-ack Password: ---> Computing dependencies for p5.12-app-ack ---> Cleaning p5.12-app-ack ---> Scanning binaries for linking errors: 100.0% ---> No broken files found. $ 

Update: cpanfunktioniert auch nicht

$ack -bash: ack: command not found $sudo port p5-app-ack Password: Error: Unrecognized action "port p5-app-ack" $sudo port installed p5-app-ack The following ports are currently installed: p5-app-ack @1.960.0_1 (active) $sudo cpan App::Ack Reading '/Users/foobar/.cpan/Metadata' Database was generated on Sun, 18 Dec 2011 20:10:30 GMT Fetching with Net::FTP: ftp://cpan.mirror.cdnetworks.com/CPAN/authors/01mailrc.txt.gz Reading '/Users/foobar/.cpan/sources/authors/01mailrc.txt.gz' ............................................................................DONE Fetching with Net::FTP: ftp://cpan.mirror.cdnetworks.com/CPAN/modules/02packages.details.txt.gz Reading '/Users/foobar/.cpan/sources/modules/02packages.details.txt.gz' Database was generated on Sat, 15 Dec 2012 21:19:04 GMT HTTP::Date not available ............................................................................DONE Fetching with Net::FTP: ftp://cpan.mirror.cdnetworks.com/CPAN/modules/03modlist.data.gz Reading '/Users/foobar/.cpan/sources/modules/03modlist.data.gz' ............................................................................DONE Writing /Users/foobar/.cpan/Metadata Running install for module 'App::Ack' Running make for P/PE/PETDANCE/ack-1.96.tar.gz Fetching with Net::FTP: ftp://cpan.mirror.cdnetworks.com/CPAN/authors/id/P/PE/PETDANCE/ack-1.96.tar.gz Fetching with Net::FTP: ftp://cpan.mirror.cdnetworks.com/CPAN/authors/id/P/PE/PETDANCE/CHECKSUMS Checksum for /Users/foobar/.cpan/sources/authors/id/P/PE/PETDANCE/ack-1.96.tar.gz ok  CPAN.pm: Building P/PE/PETDANCE/ack-1.96.tar.gz  Checking if your kit is complete... Looks good Warning: prerequisite File::Next 0.4 not found. No documentation found for "File::Next". Writing Makefile for ack Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- PETDANCE/ack-1.96.tar.gz ---- File::Next [requires] Running make test Delayed until after prerequisites Running make install Delayed until after prerequisites Running install for module 'File::Next' Running make for P/PE/PETDANCE/File-Next-1.10.tar.gz Fetching with Net::FTP: ftp://cpan.mirror.cdnetworks.com/CPAN/authors/id/P/PE/PETDANCE/File-Next-1.10.tar.gz Checksum for /Users/foobar/.cpan/sources/authors/id/P/PE/PETDANCE/File-Next-1.10.tar.gz ok  CPAN.pm: Building P/PE/PETDANCE/File-Next-1.10.tar.gz  Checking if your kit is complete... Looks good Writing Makefile for File::Next Writing MYMETA.yml and MYMETA.json cp Next.pm blib/lib/File/Next.pm Manifying blib/man3/File::Next.3pm PETDANCE/File-Next-1.10.tar.gz /usr/bin/make -- OK 'YAML' not installed, will not store persistent state Running make test PERL_DL_NONLAZY=1 /opt/local/bin/perl5.16 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00-load.t ....... # Testing File::Next 1.10, Perl 5.016001, /opt/local/bin/perl5.16 t/00-load.t ....... ok  t/api.t ........... ok  t/basic.t ......... ok  t/dirs.t .......... ok  t/dot.t ........... ok  t/everything.t .... ok  t/follow.t ........ ok  t/from_file.t ..... ok  t/from_stdin.t .... ok  t/methods.t ....... ok  t/named-pipe.t .... ok  t/parms.t ......... ok  t/pod-coverage.t .. skipped: Test::Pod::Coverage 1.04 required for testing POD t/pod.t ........... skipped: Test::Pod 1.14 required for testing POD t/sort.t .......... ok  t/zero.t .......... ok  All tests successful. Files=16, Tests=82, 1 wallclock secs ( 0.11 usr 0.07 sys + 0.59 cusr 0.15 csys = 0.92 CPU) Result: PASS PETDANCE/File-Next-1.10.tar.gz /usr/bin/make test -- OK Running make install Installing /opt/local/lib/perl5/site_perl/5.16.1/File/Next.pm Installing /opt/local/share/perl5.16/siteman/man3/File::Next.3pm Appending installation info to /opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level/perllocal.pod PETDANCE/File-Next-1.10.tar.gz /usr/bin/make install -- OK Running make for P/PE/PETDANCE/ack-1.96.tar.gz Has already been unwrapped into directory /Users/foobar/.cpan/build/ack-1.96-wJTiPB  CPAN.pm: Building P/PE/PETDANCE/ack-1.96.tar.gz  cp Ack.pm blib/lib/App/Ack.pm cp Repository.pm blib/lib/App/Ack/Repository.pm cp Plugin.pm blib/lib/App/Ack/Plugin.pm cp Resource.pm blib/lib/App/Ack/Resource.pm cp Basic.pm blib/lib/App/Ack/Plugin/Basic.pm /opt/local/bin/perl5.16 squash ack-base File::Next Ack.pm Repository.pm Resource.pm Basic.pm > ack Reading ack-base Reading /opt/local/lib/perl5/site_perl/5.16.1/File/Next.pm Reading Ack.pm Reading Repository.pm Reading Resource.pm Reading Basic.pm chmod 0755 ack /opt/local/bin/perl5.16 -T -c ack ack syntax OK /opt/local/bin/perl5.16 -T ack --noenv --help > ack-help.txt || perl -e0 /opt/local/bin/perl5.16 -T ack --noenv --help=types > ack-help-types.txt || perl -e0 /opt/local/bin/perl5.16 -T ack --noenv --help=dirs > ack-help-dirs.txt || perl -e0 cp ack blib/script/ack /opt/local/bin/perl5.16 -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/ack Manifying blib/man1/ack.1pm PETDANCE/ack-1.96.tar.gz /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /opt/local/bin/perl5.16 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00-load.t ............... 1/4 # Testing App::Ack 1.96, File::Next 1.10, Perl 5.016001, /opt/local/bin/perl5.16 t/00-load.t ............... ok  t/ack-1.t ................. ok  t/ack-a.t ................. ok  t/ack-binary.t ............ ok  t/ack-c.t ................. ok  t/ack-color.t ............. ok  t/ack-column.t ............ ok  t/ack-env.t ............... ok  t/ack-g.t ................. ok  t/ack-group.t ............. ok  t/ack-h.t ................. ok  t/ack-ignore-dir.t ........ ok  t/ack-line.t .............. ok  t/ack-match.t ............. ok  t/ack-o.t ................. ok  t/ack-passthru.t .......... ok  t/ack-print0.t ............ ok  t/ack-text.t .............. ok  t/ack-type.t .............. ok  t/ack-u.t ................. ok  t/ack-v.t ................. ok  t/ack-w.t ................. ok  t/code.t .................. ok  t/command-line-files.t .... ok  t/context.t ............... ok  t/encoding.t .............. ok  t/file-permission.t ....... skipped: Can't be run as root t/filetypes.t ............. ok  t/illegal-regex.t ......... ok  t/incomplete-last-line.t .. ok  t/interesting.t ........... ok  t/longopts.t .............. ok  t/module.t ................ ok  t/multiline.t ............. ok  t/pod.t ................... skipped: Test::Pod 1.14 required for testing POD t/rc.t .................... ok  t/standalone.t ............ ok  t/tar.t ................... skipped: Testing the uncompleted feature of acking through a tar file. t/zero.t .................. ok  All tests successful. Files=39, Tests=585, 20 wallclock secs ( 0.29 usr 0.13 sys + 13.47 cusr 2.57 csys = 16.46 CPU) Result: PASS PETDANCE/ack-1.96.tar.gz /usr/bin/make test -- OK Running make install Manifying blib/man1/ack.1pm Installing /opt/local/lib/perl5/site_perl/5.16.1/App/Ack.pm Installing /opt/local/lib/perl5/site_perl/5.16.1/App/Ack/Plugin.pm Installing /opt/local/lib/perl5/site_perl/5.16.1/App/Ack/Repository.pm Installing /opt/local/lib/perl5/site_perl/5.16.1/App/Ack/Resource.pm Installing /opt/local/lib/perl5/site_perl/5.16.1/App/Ack/Plugin/Basic.pm Installing /opt/local/share/perl5.16/siteman/man1/ack.1pm Installing /opt/local/libexec/perl5.16/sitebin/ack Appending installation info to /opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level/perllocal.pod PETDANCE/ack-1.96.tar.gz /usr/bin/make install -- OK $ which ack 
6
Was passiert, wenn Sie versuchen, p5.12-app-ack direkt zu installieren (obwohl es sich anscheinend bereits in / opt / local / bin befindet)? lupincho vor 11 Jahren 0
@lupincho Ich habe hinzugefügt, was im OP passiert ist. qazwsx vor 11 Jahren 0
Ich bin nicht sicher, was das Problem mit p5-app-ack verursacht, aber eine mögliche Problemumgehung, mit der Sie `ack` verwenden könnten, könnte einen Link erstellen,` / opt / local / bin / ack`, der auf `/ opt zeigt / local / bin / ack-5.12`, das Sie bereits zu haben scheinen. Ich habe nicht 'ack' installiert, aber bei meinem `/ opt / local / bin 'sind einige Dinge tatsächlich Links zu etwas.5-12 (zB lrwxr-xr-x ... a2p -> a2p -5,12). Das sollte funktionieren, vorausgesetzt, ack-5.12 ist korrekt installiert und funktioniert einwandfrei. lupincho vor 11 Jahren 0
Auf diese Weise wird das System in gewissem Sinne verschmutzt. Man muss sich daran erinnern, was und wo die symbolischen Links aktualisiert werden müssen, wenn Updates verfügbar sind, und dies manuell tun. qazwsx vor 11 Jahren 0

2 Antworten auf die Frage

6
Kata

Du kannst es versuchen:

sudo cpan App::Ack 

Es installiert ack und konfiguriert die Binärdatei in /opt/local/bin/ackder Standard-Perl-Umgebung auf Ihrem Computer. Nach der Installation können Sie einfach "ack pattern" ausführen und Sie können loslegen.

Das Problem wird nicht behoben. Siehe Bearbeiten im OP. qazwsx vor 11 Jahren 0
Bist du sicher? Sie haben mich gerade dazu aufgefordert, ack erneut zu installieren und dies zu bestätigen. cpan hat ack installiert und die binaries (und path) für mich konfiguriert. Ich konnte in einem Schritt von Installation zu Installation wechseln. Kata vor 11 Jahren 0
Wenn ich `sudo cpan App :: Ack` gemacht habe, kann ich am Ende, wenn ich` which ack` mache, nichts finden. qazwsx vor 11 Jahren 0
Eine Einschränkung: Folgen Sie den CPAN-Ergebnissen genau, um zu sehen, wo das Modul gelandet ist. Meines endete aus irgendeinem Grund bei `/ opt / local / libexec / perl5.12 / sitebin / ack`, und ich musste` ln` nach `/ opt / local / bin` Traveling Tech Guy vor 9 Jahren 0
4
Florenz Kley

Das Paket p5-app-ack ist ein Stub-Paket, das ein Paket installiert, das die echte ausführbare Datei enthält, die Ihrer installierten Perl-Version entspricht.

shiny:~ fl$ port deps p5-app-ack Full Name: p5-app-ack @1.960.0_1 Library Dependencies: p5.12-app-ack 

Nachdem Sie perl5.12 installiert haben, finden Sie das Stub-Paket und das Paket mit der Binärdatei:

shiny:~ fl$ port list p5*-app-ack p5-app-ack @1.960.0 perl/p5-app-ack p5.12-app-ack @1.960.0 perl/p5-app-ack 

und das Programm wird entsprechend der Perl-Umgebung installiert:

shiny:~ fl$ port contents p5.12-app-ack Port p5.12-app-ack contains: /opt/local/bin/ack-5.12 /opt/local/lib/perl5/vendor_perl/5.12.4/App/Ack.pm /opt/local/lib/perl5/vendor_perl/5.12.4/App/Ack/Plugin.pm /opt/local/lib/perl5/vendor_perl/5.12.4/App/Ack/Plugin/Basic.pm /opt/local/lib/perl5/vendor_perl/5.12.4/App/Ack/Repository.pm /opt/local/lib/perl5/vendor_perl/5.12.4/App/Ack/Resource.pm /opt/local/lib/perl5/vendor_perl/5.12.4/darwin-thread-multi-2level/auto/ack/.packlist /opt/local/libexec/perl5.12/ack /opt/local/share/perl5.12/man/man1/ack.1pm 

Sie können entweder /opt/local/libexec/perl5.12Ihrem hinzufügen $PATHoder einen Symlink zum Programm /opt/local/libexec/perl5.12/ackirgendwo in Ihrem erstellen$PATH

Dies behebt das Symptom und nicht die Ursache. Vielen Dank. qazwsx vor 11 Jahren 0
ah ok habe gerade mein Portfile /opt/local/varports/distfiles/perl5/ack-1.96.tar.gz mit der Prüfsumme sha256 überprüft: bb9d29842d8c5c1ec7ad9b577707aca0e1d278e8e21560dbed76ea3b5aa6cb64 Bauen Sie es oder installieren Sie das Paket? Florenz Kley vor 11 Jahren 0