HomeBrewでインストールしたperlをBigSurのデフォルトのに戻したい

HomeBrewで(plenv、perbrerwを使わず)インストールしたperl5.34.0を、

BigSurにデフォルトインストールされているperl5.30.2に戻したいのですが、戻し方が分りません。

brew install perl

とやったら、

PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib

eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"

この2つを実行しろと出たので、その通りにしました。

いくつかのコンパイルとpathとかの変更があって、無事動いている(たぶん)のですが、

brew uninstall perl

としてもperlが削除されただけで、元の5.30.2は動かなくなりました。

少なくとも、pathが元に戻りません。

どうしたら良いのでしょう。BigSurは11.4、homebrewは3.2.1です。よろしくお願いします。

MacBook Pro 16″, macOS 11.4

投稿日 2021/07/06 05:13

返信
返信: 2

2021/07/06 05:37 yoshi.merveille への返信

homebrewでperlをインストールしても、元のperlはそのままです。パスが違うだけです。ターミナルで、

/usr/bin/perl

とすればmacosで用意されてるperlを実行すると思います。

homebrewをインストールすると、パスに/usr/localが追加されるのでは(この辺はインストールしたbrewのバージョンでも違うかもしれないので違うかもしれません)?なので、これを追加されないようにしてやれば、普通にperlとすればmacosのperlになると思います。他のコマンドの関係でパスを元に戻したくないなら、フルパスで実行するか、perl scriptの先頭に実行するperlのパスを指定しておけば、macosのperlをいつでも実行できます。

2021/07/06 19:13 はに への返信

ありがとうございます。

v5.34.0をアンインストール後、もう一度、

brew install perl

PERL_MM_OPT="INSTALL_BASE=/usr/local/lib/perl5" cpan local::lib

eval "$(perl -I/usr/local/lib/perl5/lib/perl5 -Mlocal::lib=/usr/local/lib/perl5)"


brew uninstall perl


としたら、元の(v5.30.2)perlにパスが通りました。

下線部は変えましたが、少し腑に落ちません。なぜ戻ったのかが。

ちなみに、「eval ....」するまではパスは旧のまま(/usr/bin/perl)で、「/usr/local/bin/perl」は在るのに、パスは通っていません。

それが「eval」?

しかも、この時できていた「/usr/local/lib/perl5/lib/perl5/xxxx/darwin-thread-multi-2level」の

「xxxx」の部分、最初のインストール時は「5.34.0」が、「5.30.2」に、

この後、何度インストールし直し(下線部を$HOMEに戻してから)ても、です。

これも、腑に落ちません。

では。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

HomeBrewでインストールしたperlをBigSurのデフォルトのに戻したい

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。