我在perlmonks上問了這個問題,並且取得了有限的進展,所以我會在這裏問。我在Mac OS X 10.7.5上安裝了perl 5.16.0,使用perlbrew進行線程化。現在,當我嘗試將模塊傳輸到新安裝時,它會失敗並顯示一條我不明白的消息。以下是我使用和輸出的命令。perlbrew在Mac OS X上將模塊遷移到新的perl安裝10.7.5
$ perlbrew install --as perl-5.16.0t -Dusethreads perl-5.16.0
那麼,下面就perlmonks一個帖子:
$ perldoc -t perllocal | perl -lane'/"Module"/ && print $F[-1]' | sort -u >/tmp/pms
$ perlbrew switch perl-5.16.0t
$ cpanm -v </tmp/pms &>>/tmp/inst.log & tail -f /tmp/inst.log
我又試圖將這些命令作爲一個簡單的檢查,並得到了輸出我不能開始捉摸:
$ perl -e 1 -MFile::Find
dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /Users/abualiga/perl5/lib/perl5/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
Expected in: flat namespace
dyld: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /Users/abualiga/perl5/lib/perl5/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
Expected in: flat namespace
Trace/BPT trap: 5
$ perldoc File::Find
dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /Users/abualiga/perl5/lib/perl5/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
Expected in: flat namespace
dyld: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /Users/abualiga/perl5/lib/perl5/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
Expected in: flat namespace
Trace/BPT trap: 5
我卸載了perl-5.16.0t,並從.bash_profile中刪除了文件夾perlbrew和該行,所以現在我回到了系統perl 5.12.3。我想知道如何做到這一點,在我的主目錄中有多個perls,而不必使用ActiveState。