eyecatch thumbnail

Chromium をビルドする時は asdf を無効化しておこう | .vpython 系のエラーなど

Profile picture
ルッチ / Lucci
2021.05.09

Contents


まとめ

  • Chromium をビルドするときは asdf を無効化しておくと良い
  • その都度 asdf を無効化するには direnv を使うのが良い

はじめに

chris-liu-beers-z6cFcCh60Aw-unsplash.jpg

Chromium をビルドするときは asdf を無効化しておくと良さそうだよ,という話をします.

対象読者は asdf を使って python のバージョン管理をしている人 です.

Chromium がビルドできずに困っていて焦っているかもしれませんが, 一旦深呼吸してこの記事を読んでください.

きっとビルドエラーが解決できると思います.

それではどうぞ!


原因

tolga-ulkan-9k36QqhA0cU-unsplash.jpg

Chromium をビルドするときに python を使うのはご存知かと思います.

Chromium が想定している python のバージョンやパスは OS にプリインストールされている python のバージョンとパスです. (たぶん)

なので asdf を使って python のバージョンやパスを管理していると OS にプリインストールされている python とは異なるバージョンやパスの python を使うことになります.

おそらくそれがビルドエラーの原因です.

なぜ asdf で python をバージョン管理しているのが chromium ビルドエラーの原因だと言えるのか というと asdf を無効化した状態だと chromium のビルドエラーが発生しなかったから です.

ではどうやって asdf を無効化したのか,その方法について解説します.


解決策

scott-graham-5fNmWej4tAA-unsplash.jpg

direnv を使って asdf を一時的に無効化する

asdf を無効化するために direnv を使いました.

direnv をインストールしていない方は今ここで direnv をインストールしてください.

ココから先は direnv がインストールされている環境を前提として話を進めます.

さて,direnv のインストールが完了したところで chromium ビルド時に asdf を無効化する設定をしましょう.

chromium の src/ があるディレクトリに移動してください. 以下は自分の場合です.

$ cd ~/chromium
$ tree -L 1 -a
.
├── .DS_Store
├── .chromium.code-workspace
├── .cipd
├── .envrc
├── .gclient
├── .gclient_entries
├── depot_tools
└── src

3 directories, 5 files

次に .envrc というファイルを作成しましょう. 自分の場合はすでに .envrc は作成済みです.

$ touch .envrc

では .envrc に asdf を無効化する設定をしましょう. PATH_rm を使って asdf へのパスを一時的に削除するだけですけど.

PATH_rm /Users/user/.asdf/shims
PATH_rm /Users/user/.asdf/bin

.envrc を更新したら direnv allow で設定を上書きしましょう.

$ direnv allow

以上で chromium ビルド時 (~/chromium 配下がカレントディレクトリの場合) に asdf が無効化されます.

ついでに depot_tools の参照パスを変更しておきましょう. (depot_tools への参照パスを third_party 配下にすることで誤爆を防ぐことができます. さらに gclient sync 実行時に depot_tools も更新されるので良きです)

depottools の参照パスを thirdparty 配下にする

depot_tools の参照パスを変更するときにも direnv を使います.

パスを追加するので PATH_add を使って参照したいパスを記述します.

$ cd ~/chromium
$ vi .envrc
PATH_add src/third_party/depot_tools

再度 direnv allow を実行して direnv の設定を更新してください.

$ direnv allow

以上で全ての設定は終了です.

お疲れ様でした!


おわりに

sven-scheuermeier-uABaIb8XUGI-unsplash.jpg

chromium をビルドするときは asdf を無効化にしておくと良いぞというお話でした.

この記事に書いてある内容でビルドエラーが解決できたら Twitter のフォローをしていただけると嬉しいです.

フォロワー0人からフォロワー1000人を目指しております.

2021-05-09 時点のフォロワーは5人です.笑

フォロワーの数でこのブログの価値を測りたいと考えています.

どうぞよろしくお願いします.

最後までお読みいただきありがとうございました.

今日も良い一日を!

参考資料

direnv の API? についてはこちら:


執筆機材


関連記事


Python 初学者へのお知らせ

約2時間で Python の基礎を学び、簡単なゲームを作ってみませんか?

そんな方に、Python の基本を実践的に学びたい人向けの講座、【無料】ゼロから始めるPythonプログラミング入門講座(週4開催)をお勧めします。

tech-ad-techgym-python

この講座で、無料でゲーム開発を通してプログラミングの基礎を身につけてみませんか?

少しでも気になった方は、上記のテキストリンクもしくは画像リンクから申し込みお願いします!

Python との楽しい日々をお過ごしください:)

大学生へのお知らせ

ここまで記事を読んでくれて本当に嬉しいです、ありがとうございます。

プログラミングを始めたばかりの頃って「やるぞ!」という気持ちは強めですが、 実際に取り組み始めると「何からどうやってどこまでやればいんだ?」 という感じで羅針盤を失うことが多いような気がします。(実体験)

そんな勉強熱心で向上心高めなんだけど目指す姿が曖昧な大学生の方に感謝の意も込めて、就職活動までサポートするプログラミングスクール「レバテックカレッジ」を紹介します。↓

Levtech-college

「自走力」のあるエンジニアを最短3ヶ月で目指せるカリキュラムが月額30,000円で用意されていて、 現段階の「目指す姿が曖昧で何から手をつければいいかわからない状態」から脱却できます。

自分は実際にIT企業で働いていますが、「自走力」のあるエンジニアの方にはいつも助けられています。

なので、目指す姿が曖昧な人はとりあえずレバテックカレッジが導いてくれる 「自走力のあるエンジニア」を目指してみるのはスタートダッシュとしてはアリです。

レベルアップしてからジョブチェンするのはRPGでも常套手段ですし、 レバテックカレッジで一通りのスキルを習得してから自分の目指す姿を再定義するといいかもです。

「自走力のあるエンジニア」って実際どんなエンジニアなの? 何から手をつければいいかわからないから教えて欲しい、 という人は上のテキストリンク/画像リンクから「無料相談会」への申し込みをお願いします。

よきエンジニアライフを!