UTF-8ロケールの設定
一部のRubyアプリケーションを実行するには、UTF-8ロケールが必要です。たとえば、RubyGemsおよびruby/specにはこのようなロケールが必要であることがわかりました。
これは次の場合には必要ありません。$LANG
環境変数がすでに設定されている場合と:
locale
="C"
や警告が表示されない場合です。かわりに、すべての値は"en_US.UTF-8"
または.UTF-8
の他のリージョンであることが必要です。
RedHatベース: Fedora、Oracle Linuxなど
export LANG=en_US.UTF-8
Debianベース: Ubuntuなど
Ubuntu
locale-gen
のUbuntuバージョンでは引数がサポートされるため簡単です:
sudo apt-get install -y locales
sudo locale-gen en_US.UTF-8
export LANG=en_US.UTF-8
Ubuntu以外
Debianおよびその他の非Ubuntuでは、locale-gen
引数がサポートされません。かわりに、/etc/locale.gen
を変更する必要があります:
# Uncomment the en_US.UTF-8 line in /etc/locale.gen
sudo sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen
# locale-gen generates locales for all uncommented locales in /etc/locale.gen
sudo locale-gen
export LANG=en_US.UTF-8
Dockerfileの場合:
# Uncomment the en_US.UTF-8 line in /etc/locale.gen
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen
# locale-gen generates locales for all uncommented locales in /etc/locale.gen
RUN locale-gen
ENV LANG=en_US.UTF-8