簡體   English   中英

如何在 Mac OS X Mavericks 上降級 Perl

[英]How to downgrade Perl on Mac OS X Mavericks

新發布的 Mavericks 已從其存儲庫中刪除了已棄用的模塊“Switch.pm”。 但是,我最近嘗試構建 AOSP 源代碼樹,它以某種方式使用此模塊生成“make-hash-tools.pl”

Mavericks 的 perl 版本為 5.16.2,其前身 Mountain Lion 的 perl 版本為 5.12.4。 有沒有辦法降級我的 Perl?

編譯錯誤如下所示:

  Can't locate Switch.pm in @INC (@INC contains: /Library/Perl/5.16/darwin-thread-\ 
  multi-2level /Library/Perl/5.16 /Network/Library/Perl/5.16/darwin-thread-multi-2level\
  /Network/Library/Perl/5.16 /Library/Perl/Updates/5.16.2\
  /System/Library/Perl/5.16/darwin-thread-multi-2level /System/Library/Perl/5.16\
  /System/Library/Perl/Extras/5.16/darwin-thread-multi-2level \
  /System/Library/Perl/Extras/5.16 .) at external/webkit/Source/WebCore\
  /make-hash-tools.pl line 23.

謝謝~!

您可以使用perlbrew將 Perl 的並行版本安裝在其自己的目錄中,並帶有自己的模塊。 目前,它允許您安裝 Perl,最早可以追溯到 5.003_07,盡管並非所有 Perl Porters 都支持它們以進行安全修復。

不過,從 CPAN 安裝 Switch可能會更簡單。

看起來像運行sudo cpanm Switch --force對我sudo cpanm Switch --force

你也可以使用這個:

$ sudo defaults write '/Library/Preferences/com.apple.versioner.perl' Version 5.12

它使大多數東西的 perl 運行版本 12。 不幸的是,不適用於apache ...

在 10.9.2 上為我工作,沒有“強制”。


cpan[2]> install Switch
Running install for module 'Switch'
Running make for C/CH/CHORNY/Switch-2.17.tar.gz
Fetching with LWP:

......一堆東西......

CPAN.pm: Building C/CH/CHORNY/Switch-2.17.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Switch
Writing MYMETA.yml and MYMETA.json

...一堆xcode許可證的東西...

cp Switch.pm blib/lib/Switch.pm
Manifying blib/man3/Switch.3pm
  CHORNY/Switch-2.17.tar.gz
  /usr/bin/make -- OK
'YAML' not installed, will not store persistent state
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/given.t ... ok       
t/nested.t .. ok   
t/switch.t .. ok       
All tests successful.
Files=3, Tests=590,  0 wallclock secs ( 0.04 usr  0.01 sys +  0.22 cusr  0.01 csys =  0.28 CPU)
Result: PASS
  CHORNY/Switch-2.17.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /Library/Perl/5.16/Switch.pm
Installing /usr/local/share/man/man3/Switch.3pm
Appending installation info to /Library/Perl/Updates/5.16.2/darwin-thread-multi-2level/perllocal.pod
  CHORNY/Switch-2.17.tar.gz
  /usr/bin/make install  -- OK

然后我運行了我之前拋出“Can't locate Switch.pm in @INC”錯誤的代碼,並且代碼運行良好。

我發現這些命令有效。

sudo perl -MCPAN -e shell

cpan > force install Switch 

我找到了另一個命令:

sudo cpan -f Switch

我不得不執行該命令 2 次,但對我來說它適用於優勝美地。 謝謝這個博客

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM