Sublime Text 4 で環境変数を読み込む
Sublime Text 4 にあげました
もうアップデートすることもないかな・・・って思っていた Sublime Text ですが、起動したらアップデートを促されました。
アップデートしたところ、メジャーバージョンが上がって 4 になりました。
幸い、いまのところ(3時間くらい)困ったところは出てないです。
Sublime Text 3 の頃に設定した Perl の開発環境もそのまま動いています。
エラーメッセージの出方がちょっと違うかなーとか、それくらい。
Sublime Text 4 との出会い
2013 年に受講した Perl 入学式でおすすめされたことがきっかけです。
初心者に環境を与えると、それを親と思い込む性質がある・・・かどうかはともかく、うちは Sublime Text をメインに、 VS Code をサブに、サーバー上では vim って感じで使い分けています。
Sulime Text 4 で環境変数が読み取れない?
多分、Sublime Text 4 に限らないことだと思います。
~/.zshrc
に export GOOGLE_CLIENT_ID=hogehoge
こんな感じで環境変数を設定しました。
$ source ~/.zshrc
で設定を反映させて、ターミナルから確認します。
$ echo $GOOGLE_CLIENT_ID hogehoge
よしよし。
で、sublime text 上の Perl で確認します。
Sublime Text には Build System というものがあり、これは VS Code でいうところの Code Runner みたいなやつです。
書いたコードをすぐに実行して、エディタの別領域に結果を出せるという。
こんな感じ。
#!/usr/bin/env perl use strict; use warnings; print $ENV{GOOGLE_CLIENT_ID}
・・・エラー!?
いやいやいやいや、ターミナルでは表示できてまんがな。
Sulime Text 4 で環境変数が読み取る
で、結論から言うと、この時の Sublime Text 4 は Mac の Dock から起動したものでした。
これをターミナルから起動してあげると・・・あ、うちは .zshrc
にこういうエイリアス書いてます。
alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
$ subl ~/Desktop/test.pl
はい、このようにターミナルからの起動であれば環境変数を読み込むことができました。
Sublime Text の Build System は既存のシェルとは独立したもののようです。
というか、前も plenv で選択した Perl のバージョンが利用されないって色々やったなそういえば(今になって思い出した)
めでたしめでたし。