2018年3月16日金曜日

WSLのOpenSUSEでtz databaseを使えるようにする

WSL(Windows Subsystem for Linux)のOpenSUSEではデフォルトではtz databaseが使える状態になっていないようです。
使えないと何が起こるかというと、RailsなどでTime.zone = "Eastern Time (US & Canada)"とかTime.zone = "Asia/Tokyo"とかしていると以下のようなエラーになります。
Failure/Error: Time.zone = 'Eastern Time (US & Canada)'

TZInfo::DataSourceNotFound:
  No source of timezone data could be found.
  Please refer to http://tzinfo.github.io/datasourcenotfound for help resolving this error


解決するには以下のようなコマンドでtimezoneパッケージを入れてあげれば良いようです。
sudo zypper install timezone

結構ハマりました。
tz databaseっていう言葉、これを調べて初めて知った気がします。tzdataとかzoneinfo databaseともいうらしいですね。
勉強になりました。

0 件のコメント:

コメントを投稿