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(используя приложение Versions) и сервером svn...
Как я могу заставить это предупреждение исчезнуть навсегда с сервера всякий раз, когда я использую такие команды?
11 ответов:
Проверьте вывод
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
кроме того, как Анкит пишет в своем ответ:
export LC_ALL=C
может работать (в вашей текущей сессии, или в вашем .профиль.)
хотя установка lc_ctype на пустое значение работала для меня, основной причиной было то, что терминал приложения на моем Mac устанавливал локали при запуске, даже когда я SSH в другую систему.
Это можно исправить в терминале > настройки:
- выберите вкладку " профили "и выберите" дополнительно " из вложенных вкладок
- снимите флажок "установить переменные среды locale при запуске"
Если вы хотите исправить это, установите переменную" LC_ALL " вручную.
чтобы сделать его постоянным просто отредактируйте файл "/ etc / environment " и добавьте строку:
LC_ALL=C
сохраните файл и выйдите из редактора. Для его применения вам необходимо выйти из текущего сеанса оболочки. При следующем входе в систему проблема с SVN исчезнет.
On Debian Jessie:
Я побежал:
sudo dpkg-reconfigure locales
добавлена и установлена отсутствующая локаль. Потом это сработало.
это вызвано тем, что в вашей системе не созданы соответствующие локали.
раскомментировать строки, которые вы хотите поддерживать в / etc / locale.ген
например:
en_GB.UTF-8 UTF-8 en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8
и затем запустить sudo locale-gen
у нас была эта проблема и в нашей компании, при использовании IntelliJ. Мой коллега только что починил.
для нас проблемой была линия
SendEnv LANG LC_*
на/etc/ssh/ssh_config
. Когда я прокомментировал эту строку, все работало нормально.
для iTerm2:
Профили → Открыть Профили ... → Редактировать Профили ... → Терминал → Unckeck установить переменные локали автоматически
Я обнаружил, что объединение нескольких ответов hear дает правильное поведение.
- мы должны установить поддержку для правильной локали (localadm для sunos, locale-gen для linux)
- мы должны установить LC_ALL в соответствующую локаль
Это зависит от того, какие имена файлов Вы имеете в исходном дереве. Например, у меня есть английский, иврит и арабский. язык.UTF-8 работает для меня "C" сам по себе привел к файлам, которые я не мог обновить.
Я получил проблему при подключении к удаленному серверу ssh (ssh используется командой svnserve -> svn update).
причина в том, что удаленный сервер не имеет доступного языкового пакета, который установлен в $LANG на локальном сервере.
вы можете проверить установленные языковые пакеты по 'locale-a'. Язык $LANG должен быть настроен на удаленном сервере.
например.
локальный сервер: LANG=en_US.UTF-8
удаленный сервер: locale - a - > только de_DE.UTF-8 доступен
разрешение: просто установите отсутствующий языковой пакет на удаленном сервере: dpkg-reconfigure locales;
кстати: выбранный язык по умолчанию не имеет значения.