web-dev-qa-db-ja.com

SVNはLC_CTYPEロケールを設定できません

サーバーでSVNを使用するたびに、次のエラーが表示され始めました。

svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_CTYPE is UTF-8
svn: warning: please check that your locale name is correct

私の推測では、私のsvnクライアント(バージョンアプリを使用)とサーバーsvnに何か問題があるかもしれません...

このようなコマンドを使用するたびに、この警告をサーバーから永久に消えさせるにはどうすればよいですか?

58
fxuser

の出力を確認します

locale -a

SVNが不平を言っているロケールがインストールされていない場合は、インストールできます。

あなたがする必要があるかもしれません:

Sudo apt-get install language-pack-en-base

次のいずれかが続きます(SVNからの正確なエラーに応じて、最初のケースはあなたのものです):

Sudo locale-gen UTF-8
Sudo locale-gen en_GB.UTF-8
Sudo locale-gen en_US.UTF-8

あるいは、Ankitが answer

export LC_ALL=C

(現在のセッションまたは.profileで)動作する場合があります。

57
JeeBee

LC_CTYPEを空の値に設定してもうまくいきましたが、根本的な理由は、Macのアプリターミナルが起動時にロケールを設定していたためです。

これは、「ターミナル」>「設定」で修正できます。

  • 「プロファイル」タブを選択し、サブタブから「詳細」を選択します
  • 「起動時にロケール環境変数を設定する」のチェックを外します
45
Andreas K

これを修正する場合は、「LC_ALL」変数を手動で設定します。

永続的にするには、ファイル「/ etc/environment」を編集して次の行を追加します。

LC_ALL=C

ファイルを保存して、エディターを終了します。適用するには、現在のシェルセッションからログアウトする必要があります。次回ログインすると、SVNの問題はなくなります。

23
Ankit

LC_ALLおよびLANG設定は機能しませんでしたが、LC_CTYPEは機能しました。

LC_CTYPE=en_US.UTF-8
14
Caner

オンDebian Jessie

私が走った:

Sudo dpkg-reconfigure locales

欠落しているロケールを追加およびインストールしました。それはうまくいきました。

8
LaGrandMere

SendEnv LANG LC_* in/etc/ssh/ssh_configを使用して行をコメントアウトすると、助けになります(openSUSE)

3
Subdigger

これは、システムで適切なロケールが生成されていないことが原因です。

/ etc/locale.genでサポートしたいコメント解除された行

例えば:

en_GB.UTF-8 UTF-8
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

そしてSudo locale-genを実行します

2
Vadim Bryl

IntelliJを使用しているときに、当社でもこの問題が発生しました。私の同僚がそれを直しただけです。

私たちにとって問題は行SendEnv LANG LC_* in /etc/ssh/ssh_config。その行をコメントアウトすると、すべてが正常に機能しました。

ITerm2の場合:

プロファイル→プロファイルを開く…→プロファイルの編集…→ターミナル→チェックを外しますロケール変数を自動的に設定します

1
Dmitriy Dokshin

複数の回答を組み合わせると、正しい動作が得られることがわかりました。

  1. 正しいロケールのサポートをインストールする必要があります(sunosの場合はlocaladm、Linuxの場合はlocale-gen)
  2. LC_ALLを適切なロケールに設定する必要があります

これは、ソースツリーにあるファイル名の種類によって異なります。たとえば、英語、ヘブライ語、アラビア語があります。 en_US.UTF-8は私にとっては「C」で動作しますが、それ自体ではファイルを更新できませんでした。

0
Peter Kahn

リモートsshサーバーに接続すると問題が発生しました(sshはsvnserve-> svn updateコマンドで使用されます)。

その理由は、ローカルサーバーの$ LANGに設定されている言語サーバーがリモートサーバーにないためです。

「locale -a」でインストール済みの言語パックを確認できます。リモートサーバーで$ LANG言語を構成する必要があります。

例えば。

ローカルサーバー:LANG = en_US.UTF-8

リモートサーバー:ロケール-a-> de_DE.UTF-8のみが利用可能

解決策:不足している言語パックをリモートサーバーにインストールするだけです:dpkg-reconfigure locales;

btw:選択したデフォルトの言語は関係ありません。

0
Markus