DjangoのDockerでCommandError: Can’t find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.

今回はDjangoのDockerを使っていて、「django-admin.py makemessages -l ja」などを実行したときに「CommandError: Can’t find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.」というエラーが出たときの対処法についてご紹介いたします。



DjangoのDockerでCommandError: Can’t find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.

表題の通りです。

DjangoのDockerを使用しているときに、ローカライズするために「django-admin.py makemessages -l ja」のコマンドを打ったところ、「CommandError: Can’t find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.」というエラーが出てしまいました。

Dockerを使用していない場合だと、brew installでgettextをインストールしてパスを通せば問題なく動作が完了するらしいですが、Dockerを使用しているため自分のPCでのbrew installは関係ありません。

結論を言うと、DjangoのDockerコンテナの中に入り、
apt-get update
をして
apt-get install -y gettext libgettextpo-dev
をすれば「django-admin.py makemessages -l ja」などが問題なく動作するようになります。

いちいちDockerコンテナの中に入ってビルドされるごとにコマンドを打つのも面倒なので、DockerFileに

を記載しておくと良いかもしれません。

終わりに

今回はDjangoのDockerを使っていて、「django-admin.py makemessages -l ja」などを実行したときに「CommandError: Can’t find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.」というエラーが出たときの対処法についてご紹介いたしました。

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






Django

Posted by ちこ