2014-12-04 3 views
16

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

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, но решение не работает для меня. Я делаю это

  1. Open Terminal
  2. Write или вставить: defaults write org.R-project.R force.LANG en_US.UTF-8
  3. Закрыть Терминал
  4. Start R

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

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

+0

@RichardScriven, я уверен, что это отличное предложение, но я не совсем понимаю. Я запускаю R в терминале. В моем каталоге приложений нет приложения. Я знаю, что есть один при установке R с пакетом установщика со страницы проекта. –

+0

Вы правы. Я удалил тег. –

+0

Я получаю те же ошибки без строки «5: - -» в Yosemite 10.10.1, которые на самом деле, вероятно, отличаются от сообщения, которое, как я сказал, дублируется: http://stackoverflow.com/questions/9689104/installing-r -on-mac-warning-messages-setting-lc-ctype-failed-using-c В этой теме может быть одна и та же проблема. Я фактически установил R без доморощенного, и у меня такая же проблема, поэтому я рекомендую удалить Homebrew в заголовке и теле. –

ответ

7

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

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

LC_NUMERIC может или не может быть установлен, но, учитывая ваши ошибки, остальные либо не установлен или установлен на что-то R может» t использовать. Если эти переменные пусты, 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, и вы должны быть установлены.

+0

Я сделал все, как вам было поручено, но не получил результат локали, как вы говорите. Я получаю * LANG =; LC_COLLATE = "C"; LC_CTYPE = "en_US.UTF-8"; LC_MESSAGES = "C"; LC_MONETARY = "C"; LC_NUMERIC = "C"; LC_TIME = "C"; LC_ALL = *; "Любой другой вариант? –

+0

Когда вы это получите? После ручной настройки переменных à la« Option 3 », но перед сбросом он должен выглядеть как локаль« Проверить ». Если он сбрасывается при перезагрузке терминала, это либо потому, что флажок в Prefs терминала не проверен, либо потому, что у вас есть разные инструкции запуска для bash в .bash_profile, .bashrc или .profle (в OS X это должен быть .bash_profile). OS X «Язык & Region "prefpane (имя зависит от версии OS X) также может повлиять на локаль, но это не похоже на то, что здесь происходит. – alistaire

2

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

export LANG=en_US.UTF-8

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

+0

Ваша процедура не работает. Я вставил вместо этого команду в $ HOME/.bashrc, которая работает. Кажется, что $ HOME/.profile автоматически не запускается в начале запроса. –

+0

@Masi - Вы перезапустили систему после изменения .profile? – Dason

+0

@Dason No. Я думаю, что это ошибка. –

2

Поместите следующую строку в $ HOME/.bashrc

export LANG=en_US.UTF-8 

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

1

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

Смежные вопросы