🙄

Zedで setlocale: LC_ALL: cannot change locale (en_US.UTF-8) って出たときの対処法

2024/10/03に公開

Environment

OS: Debian 12
Shell: Bash
Zed version: 0.154.4

本文

Zedのターミナルを立ち上げたら

bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) 

というエラーが出た。
普段使ってるターミナルエミュレータ(WezTerm)では出ないため、Zed固有の問題。
調べてみたら、Zedの環境変数がen_US.UTF-8で設定されていることが原因でした。どうやら、issueを見る感じ、en_US.UTF-8がソースコードにハードコーディングされていたようです...

解決方法

settings.jsonにenvを追加

  "terminal": {
    "env": {
      "LANG": "ja_JP.UTF-8",
      "LC_ALL": "ja_JP.UTF-8"
    }
  }

参考

https://github.com/zed-industries/zed/discussions/18606
https://github.com/zed-industries/zed/issues/4360

Discussion