0

私たちのシステム管理者は最近私のOSとperlを(5.12.3に)アップグレードしました。local :: lib環境変数をロードすると、xsに依存するものはすべて壊れているように見えます。

demianshell~> perl -e 'use Storable; store({a=>1}, 'test')'
demianshell~> eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)
demianshell~> perl -e 'use Storable; store({a=>1}, 'test')'
Assertion ((svtype)((_svi)->sv_flags & 0xff)) >= SVt_RV failed: file "Storable.xs", line 3753 at blib/lib/Storable.pm (autosplit into blib/lib/auto/Storable/_store.al) line 263, at -e line 1

これに対する簡単な修正はありますか?

4

1 に答える 1

6

唯一のPerlがPerl5.12。*以外からアップグレードされており、local::libインストールのバイナリコンポーネントがアップグレードされていないと言っている場合は、申し訳ありませんが、local::libモジュールを新しいものに再構築する以外に、これに対する簡単な解決策はありません。 Perl。Perl XSコンポーネントは、主要なPerlリビジョン間で実行可能ではありません。

これが、システムPerlを信頼しないことがしばしば良い考えである理由です。なぜなら、それはあなたの制御の及ばないからです。独自のPerlインストールを使用することは常に良い計画です。そうすれば、App::perlbrewどこかで、または単に別のPerlインストールを使用して、これを制御できます。

于 2011-07-08T16:24:01.363 に答える