开发者

How do I install Test::Continuous?

I'm trying to install the Test::Continuous Perl module on my MacBook Pro with Snow Leopard installed using the following command:

sudo -s 'curl -L cpanmin.us | perl - Test::Continuous'

Unfortunately, all I'm getting back is:

--> Working on Test::Continuous
Fetching http://search.cpan.org/CPAN/authors/id/G/GU/GUGOD/Test-Continuous-0.69.tar.gz ... OK
Configuring Test-Continuous-0.69 ... OK
==> Found dependencies: Log::Dispatch::DesktopNotification
--> Working on Log::Dispatch::DesktopNotification
Fetching http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Log-Dispatch-DesktopNotification-0.01.tar.gz ... OK
Configuring Log-Dispatch-DesktopNotification-0.01 ... OK
==> Found dependencies: Log::Dispatch::MacGrowl
--> Working on Log::Dispatch::MacGrowl
Fetching http://search.cpan.org/CPAN/authors/id/R/RY/RYOCHIN/Log-Dispatch-MacGrowl/Log-Dispatch-MacGrowl-0.02.tar.gz ... OK
Configuring Log-Dispatch-MacGrowl-0.02 ... OK
==> Found dependencies: Mac::Growl
--> Working on Mac::Growl
Fetching http://search.cpan.org/CPAN/authors/id/C/CN/CNANDOR/Mac-Growl-0.67.tar.gz ... OK
Configuring Mac-Growl-0.67 ... OK
Building and testing Mac-Growl-0.67 ... FAIL
! Installing Mac::Growl failed. See /Users/purinkle/.cpanm/build.log for details.
! Bailing out the installation for Log-Dispatch-MacGrowl-0.02. Retry with --prompt or --force.
! Bailing out the installation for Log-Dispatch-DesktopNotification-0.01. Retry with --prompt or --force.
! Bailing out the installation for Test-Continuous-0.69. Retry with --prompt or --force.

When I cat the build.log file as mentioned it contains the following:

Work directory is /Users/purinkle/.cpanm/work/1301425867.22435
You have make /usr/bin/make
You have LWP 5.813
You have /usr/bin/tar: bsdtar 2.6.2 - libarchive 2.6.2
You have /usr/bin/unzip
Searching Test::Continuous on cpanmetadb ...
--> Working on Test::Continuous
Fetching http://search.cpan.org/CPAN/authors/id/G/GU/GUGOD/Test-Continuous-0.69.tar.gz
-> OK
Unpacking Test-Continuous-0.69.tar.gz
Entering Test-Continuous-0.69
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 6.42 ... Yes (6.56)
Configuring Test-Continuous-0.69
Running Makefile.PL
*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies...
*** Since we're running under CPAN, I'll just let it take care
of the dependency's installation later.
[Core Features]
- Test::More                         ...loaded. (0.98 >= 0.42)
- Exporter::Lite                     ...loaded. (0.02 >= 0.02)
- File::Spec                         ...loaded. (3.33 >= 3.29)
- File::Temp     开发者_如何转开发                    ...loaded. (0.22 >= 0.21)
- List::MoreUtils                    ...loaded. (0.22 >= 0.22)
- Log::Dispatch                      ...loaded. (2.29 >= 2.22)
- Module::ExtractUse                 ...loaded. (0.23 >= 0.23)
- TAP::Harness                       ...loaded. (3.22 >= 3.16)
- self                               ...loaded. (0.34 >= 0.32)
- File::ChangeNotify                 ...loaded. (0.19 >= 0.12)
[Graphical notifications]
- Log::Dispatch::DesktopNotification ...missing.
==> Auto-install the 1 optional module(s) from CPAN? [Y/n] y
*** Module::AutoInstall configuration finished.
Checking if your kit is complete...
Looks good
Warning: prerequisite Log::Dispatch::DesktopNotification 0 not found.
Writing Makefile for Test::Continuous
-> OK
Finding PREREQ from Makefile ...
Checking if you have Exporter::Lite 0.02 ... Yes (0.02)
Checking if you have File::Spec 3.29 ... Yes (3.33)
Checking if you have ExtUtils::MakeMaker 6.42 ... Yes (6.56)
Checking if you have self 0.32 ... Yes (0.34)
Checking if you have TAP::Harness 3.16 ... Yes (3.22)
Checking if you have Module::ExtractUse 0.23 ... Yes (0.23)
Checking if you have File::ChangeNotify 0.12 ... Yes (0.19)
Checking if you have Test::More 0.42 ... Yes (0.98)
Checking if you have Log::Dispatch::DesktopNotification 0 ... No
Checking if you have File::Temp 0.21 ... Yes (0.22)
Checking if you have Log::Dispatch 2.22 ... Yes (2.29)
Checking if you have List::MoreUtils 0.22 ... Yes (0.22)
==> Found dependencies: Log::Dispatch::DesktopNotification
Searching Log::Dispatch::DesktopNotification on cpanmetadb ...
--> Working on Log::Dispatch::DesktopNotification
Fetching http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Log-Dispatch-DesktopNotification-0.01.tar.gz
-> OK
Unpacking Log-Dispatch-DesktopNotification-0.01.tar.gz
Entering Log-Dispatch-DesktopNotification-0.01
Checking configure dependencies from META.yml

Configuring Log-Dispatch-DesktopNotification-0.01
Running Makefile.PL
Cannot determine perl version info from lib/Log/Dispatch/DesktopNotification.pm
Warning: prerequisite Log::Dispatch::MacGrowl 0 not found.
Checking if your kit is complete...
Looks good
Writing Makefile for Log::Dispatch::DesktopNotification
-> OK
Finding PREREQ from Makefile ...
Checking if you have namespace::clean 0 ... Yes (0.14)
Checking if you have Log::Dispatch::MacGrowl 0 ... No
Checking if you have Module::Load 0 ... Yes (0.12)
Checking if you have ExtUtils::MakeMaker 6.56 ... Yes (6.56)
Checking if you have Log::Dispatch 0 ... Yes (2.29)
Checking if you have Module::Load::Conditional 0 ... Yes (0.22)
==> Found dependencies: Log::Dispatch::MacGrowl
Searching Log::Dispatch::MacGrowl on cpanmetadb ...
--> Working on Log::Dispatch::MacGrowl
Fetching http://search.cpan.org/CPAN/authors/id/R/RY/RYOCHIN/Log-Dispatch-MacGrowl/Log-Dispatch-MacGrowl-0.02.tar.gz
-> OK
Unpacking Log-Dispatch-MacGrowl-0.02.tar.gz
Entering Log-Dispatch-MacGrowl-0.02
Checking configure dependencies from META.yml
Checking if you have Module::Build 0.36 ... Yes (0.3607)
Configuring Log-Dispatch-MacGrowl-0.02
Running Build.PL
Checking prerequisites...
  requires:
    !  Mac::Growl is not installed
  recommends:
    *  Cocoa::Growl is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'Log-Dispatch-MacGrowl' version '0.02'
-> OK
Checking dependencies from MYMETA.yml ...
Checking if you have Mac::Growl 0 ... No
Checking if you have Log::Dispatch 0 ... Yes (2.29)
Checking if you have Test::More 0 ... Yes (0.98)
==> Found dependencies: Mac::Growl
Searching Mac::Growl on cpanmetadb ...
--> Working on Mac::Growl
Fetching http://search.cpan.org/CPAN/authors/id/C/CN/CNANDOR/Mac-Growl-0.67.tar.gz
-> OK
Unpacking Mac-Growl-0.67.tar.gz
Entering Mac-Growl-0.67
META.yml not found or unparsable. Fetching META.yml from search.cpan.org
Configuring Mac-Growl-0.67
Running Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Mac::Growl
-> OK
Finding PREREQ from Makefile ...
Building and testing Mac-Growl-0.67
cp lib/Mac/Growl.pm blib/lib/Mac/Growl.pm
cp lib/Mac/Glue/glues/GrowlHelperApp blib/lib/Mac/Glue/glues/GrowlHelperApp
cp lib/Mac/Glue/glues/GrowlHelperApp.pod blib/lib/Mac/Glue/glues/GrowlHelperApp.pod
Manifying blib/man3/Mac::Growl.3pm
Manifying blib/man3/Mac::Glue::glues::GrowlHelperApp.3pm
Can't load '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/MacPerl/MacPerl.bundle' for module MacPerl: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/MacPerl/MacPerl.bundle: no appropriate 64-bit architecture (see "man perl" for running in 32-bit mode) at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.
 at /System/Library/Perl/Extras/5.10.0/Mac/Glue/Common.pm line 21
Compilation failed in require at /System/Library/Perl/Extras/5.10.0/Mac/Glue/Common.pm line 21.
BEGIN failed--compilation aborted at /System/Library/Perl/Extras/5.10.0/Mac/Glue/Common.pm line 21.
Compilation failed in require at /usr/bin/gluemac5.10.0 line 27.

BEGIN failed--compilation aborted at /usr/bin/gluemac5.10.0 line 27.
make: *** [.makeglue] Error 9
-> FAIL Installing Mac::Growl failed. See /Users/purinkle/.cpanm/build.log for details.
-> FAIL Bailing out the installation for Log-Dispatch-MacGrowl-0.02. Retry with --prompt or --force.
-> FAIL Bailing out the installation for Log-Dispatch-DesktopNotification-0.01. Retry with --prompt or --force.
-> FAIL Bailing out the installation for Test-Continuous-0.69. Retry with --prompt or --force.

I've tried the --prompt and --force options but to not avail


Leave the system Perl alone and brew your own Perl.

Alternatives where Perl is part of a larger system: Homebrew, MacPorts, Fink


Although this answer is ten years on, it actually answers the question. The Mac::Growl module, an interface to the notification program Growl, needed Mac::Glue to work. Mac::Glue does not run on 64-bit architectures. It uses the ancient Carbon interface to AppleEvents. Here's the relevant line in the logs:

Can't load '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/MacPerl/MacPerl.bundle' for module MacPerl: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/MacPerl/MacPerl.bundle: no appropriate 64-bit architecture (see "man perl" for running in 32-bit mode) at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.

Curiously, Growl itself was retired at the end of 2020.

But, you might not want Mac::Growl at all. It's one of many possible ways to send notifications and Log::Dispatch::DesktopNotification is trying to install all sorts of things. But, that module isn't even a real dependency. Test::Continuous can work just fine without it. Sometimes in these situations, you can force install the troublesome module then try again.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜