Ваша ОС не знає про це en_US.UTF-8
.
Ви не згадали про конкретну платформу, але я можу відтворити вашу проблему:
% unme -a
OSF1 мисливець2 V5.1 2650 альфа
% perl -e вихід
perl: попередження: Не вдалося встановити локаль.
perl: попередження: Перевірте, чи налаштовано ваш локальний каталог:
LC_ALL = (не встановлено),
LANG = "en_US.UTF-8"
підтримуються та встановлюються у вашій системі.
perl: попередження: Повернення до стандартної локалі ("C").
Я здогадуюсь, ви використовували ssh для підключення до цього старшого хоста з новішої настільної машини. Це звичайно, /etc/ssh/sshd_config
щоб містити
AcceptEnv LANG LC_*
що дозволяє клієнтам поширювати значення цих змінних середовища в нові сеанси.
Попередження дає вам підказку про те, як його розім’яти, якщо вам не потрібна локальна система:
% env LANG = C perl -e вихід
%
або з bash:
$ LANG = C perl -e вихід
$
Для постійного виправлення виберіть один із
- На старшому хості встановіть
LANG
змінну середовища у файлі ініціалізації вашої оболонки.
- Змініть своє оточення на стороні клієнта, наприклад , замість того
ssh hunter2
, щоб використовувати команду LANG=C ssh hunter2
.
- Якщо у вас є права адміністратора, припиніть ssh надсилати змінні середовища, коментуючи
SendEnv LANG LC_*
рядок у локальному /etc/ssh/ssh_config
файлі. (Завдяки цій відповіді . Докладніше див. У програмі Bug 1285 для OpenSSH.)