Как избавиться от предупреждающих сообщений после установки R?

Следующий вывод можно получить после установки R по homebrew и без моего OSX:

During startup - Warning messages:
1: Setting LC_CTYPE failed, using "C"
2: Setting LC_COLLATE failed, using "C"
3: Setting LC_TIME failed, using "C"
4: Setting LC_MESSAGES failed, using "C"
5: Setting LC_MONETARY failed, using "C"         # this line is not occurring in OSX 10.10.1 Yosemite but other four are.

Я нашел существующую question, но решение для меня не работает. Я делаю это

  • Открытый терминал
  • Введите или вставьте: defaults write org.R-project.R force.LANG en_US.UTF-8
  • Закрыть терминал
  • Запустить R

и предупреждающие сообщения все еще отображаются. Я думаю, это работает при установке R с помощью пакета на странице проекта R.

Как избавиться от этих предупреждающих сообщений после установки R в OSX?

Ответы

Ответ 2

Проблема: Локальные переменные, указывающие, какая кодировка не используется. Чтобы увидеть проблему, в терминале введите locale, и вы, вероятно, получите что-то вроде

LANG=
LC_COLLATE=
LC_CTYPE=
LC_MESSAGES=
LC_MONETARY=
LC_NUMERIC="en_US.UTF-8"
LC_TIME=
LC_ALL=

LC_NUMERIC может быть установлен или не установлен, но, учитывая ваши ошибки, остальные либо не установлены, либо не установлены на то, что R не может использовать. Если эти переменные пусты, R будет жаловаться. Чтобы устранить проблему:

Вариант 1: Настройки терминала Перейдите к настройкам терминала. На вкладке "Дополнительно" убедитесь, что "Текстовое кодирование" установлено в "Юникод (UTF-8)" (или что вам нужно). Убедитесь, что установлен флажок "Установить переменные среды локали при запуске". Устранение этого параметра приводит к тому, что переменные locale не отображаются или "C", если вы не изменили .bash_profile,.bashrc или .profile(в зависимости от вашей системы). Этого может быть достаточно, чтобы исправить вашу проблему. Если нет:

Вариант 2: Установить из R Чтобы установить их изнутри R, введите

R> Sys.setenv(LANG="en_US.UTF-8")
R> Sys.setenv(LC_ALL="en_US.UTF-8")

... который должен установить все переменные R, жалующиеся на.

Вариант 3: Установить из терминала Чтобы установить их из терминала, введите

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

..., который должен установить остальные переменные R, жалуется на.

Проверить: В терминале введите locale еще раз. Вы должны получить

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

Перезапустите R, и вы должны быть установлены.

Ответ 3

Поместите следующее в свой файл $HOME/.bashrc

export LANG=en_US.UTF-8

Похоже, что по какой-то причине файл $HOME/.profile не запускается при запуске терминала.

Ответ 4

Что касается ответа alistaire, я только изменил переменную LANG в файле ~/.profile:

export LANG=en_US.UTF-8

Затем перезапустите сеанс терминала (или источник ~/.profile) и отпустите.

Ответ 5

Я открыл Системные настройки/Язык и регион и выбрал Соединенные Штаты в качестве моего региона, все предупреждения исчезли.