macOS Mojave!!!!!!!
自宅macらをmacOS Mojaveにアップグレード。にしてもどんだけmacあるのかね。 pic.twitter.com/b36ku3Pmlw
— adachin?SRE (@adachin0817) September 25, 2018
にアップグレードしたらtmuxのpowerlineがデフォルトになっていた!!!(黄色…)
これはクソダサいので早急に直してみました。
■powerline-daemon -q
・tmux.conf
1 2 3 4 5 6 7 |
~省略~ #tmux powerline run-shell "powerline-daemon -q" source "/usr/local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf" set-option -g default-terminal screen-256color set -g terminal-overrides 'xterm:colors=256' ~省略~ |
powerlineは基本powerline-daemon -qでpowerline.confを呼んでいるので上記のコマンドを叩くと以下のエラーが出やがった。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ powerline-daemon -q Traceback (most recent call last): File "/usr/local/bin/powerline-daemon", line 24, in <module> from powerline.commands.main import finish_args, write_output File "/usr/local/lib/python2.7/site-packages/powerline/commands/main.py", line 18, in <module> encoding = get_preferred_arguments_encoding() File "/usr/local/lib/python2.7/site-packages/powerline/lib/encoding.py", line 89, in get_preferred_arguments_encoding locale.getdefaultlocale()[1] File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 545, in getdefaultlocale return _parse_localename(localename) File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 477, in _parse_localename raise ValueError, 'unknown locale: %s' % localename ValueError: unknown locale: UTF-8 |
ValueError: unknown locale: UTF-8
ちなみにiTerm2は勝手にlocaleをいじってしまう仕様なため回避する設定をブチ込む必要があります。
1 2 3 4 5 6 7 8 9 |
$ locale LANG= #空白になっとる LC_COLLATE="C" LC_CTYPE="UTF-8" LC_MESSAGES="C" LC_MONETARY="C" LC_NUMERIC="C" LC_TIME="C" LC_ALL= #こっちも空白 |
■Mac OS X: ValueError: unknown locale: UTF-8 in Python
https://coderwall.com/p/-k_93g/mac-os-x-valueerror-unknown-locale-utf-8-in-python
macOS Mojave以前のバージョンでもエラー出ていたみたい。
とりあえずzshrcかbash_profileに以下の設定をブチ込んでシェル再起動してみましょう。
1 2 |
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 |
1 2 3 4 5 6 7 8 9 |
$ locale LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL="en_US.UTF-8" |
■まとめ
しかしiTermのせいでこの設定を追記するって…..
iTerm使うの辞めればいいのか!!!
0件のコメント