【一応解決?】Bitwardenのデスクトップアプリのビルドがコケる問題【自己責任でお願いします】
注意(免責)
本来パッケージマネージャーで管理するものをビルドに失敗するからといって人間の手を加える愚行を犯しています。
退屈なことはpythonにまかせよう
以下の事を実行してもこちらは責任を負いかねます。よく考えてから行動に移して下さい。
経緯
yay
でBitwardenのアップデートをしようと思ったら何故かビルドの時点でコケる。パスワードというセンシティブな情報を保管するものなので、出来るだけ最新のバージョンに追従しておきたい。
一応アップデートに失敗したら以前のバージョンがそのまま動くようなのでそのままでもいいが、ちょっと気になるエラーメッセージが出ていたので調べてたらmasterビルドが動くようになってしまった。
情報の箇条書き
- ログを見たら「node-gypでサポートしてるPythonのバージョンは2.5以上3.0未満です!」と出ている
~/.cache/yay/bitwarden
からdesktopのバージョンを見ると、Latest Release(1.16.6)の時点で依存パッケージのnode-gypのバージョンがPython 3非対応である4.0.0だった- つまり今のBitwardenはビルドする時、Python 2に依存している
- Arch Linuxでは、
python
コマンドはPython 3へのシンボリックリンクとなっているのでPython 2を入れた所で解決しないし、無理矢理Python 2に向ける事で他の問題が発生する可能性が非常に高い - 幸いにも、Bitwardenのmasterブランチではnode-gypのバージョンがPython 3対応の6.0.1なので、リポジトリから直接クローンしてやるとビルドに成功した
npm i -g asar
yay -S electron6
でパッケージング・実行環境を整えたら、buildディレクトリに移動して、asar . ../app.asar
でパッケージにする- 既にBitwardenがインストールされている時は
/usr/bin/bitwarden-desktop
(中身は普通のシェルスクリプト)が存在しているハズなので、electron
->electron6
に変更する - 普通に起動できた✌️('ω')✌️
箇条書き以外でビルドがコケた時は
PKGBUILD
を読みましょう
以上です