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でのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Django

Posted by ちこ