2014-12-04 94 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. 打开终端
  2. 写或粘贴:defaults write org.R-project.R force.LANG en_US.UTF-8
  3. 关闭终端
  4. 开始[R

和警告消息仍显示。我想这在从R项目页面使用软件包安装R时起作用。

在OSX中安装R之后如何摆脱这些警告信息?

+0

@RichardScriven,我确定这是一个很好的建议,但我不太关注。我在终端上运行R.我的应用程序目录中没有应用程序。我知道从项目页面安装带安装程序包的R时有一个。 – 2014-12-04 17:35:48

+0

你说得对。我删除了标签。 – 2014-12-05 07:09:41

+0

我在Yosemite 10.10.1中没有找到行“5: - - ”的同样的错误,这些错误实际上可能与我说的重复的帖子不同:http://stackoverflow.com/questions/9689104/installing-r -on-mac-warning-messages-setting-lc-ctype-failed-using-c主题中可能存在相同的问题。我实际上安装R没有自制软件,我得到同样的问题,所以我建议删除标题和正文中的Homebrew。 – 2015-01-25 20:48:38

回答

7

问题:未设置指示要使用的编码的区域设置变量。要看到问题,在终端上使用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:终端首选项转到终端的首选项。在“高级”选项卡下,确保“文本编码”设置为“Unicode(UTF-8)”(或任何您需要的)。确保选中“启动时设置语言环境变量”下面的复选框。除非您更改.bash_profile,.bashrc或.profile(取决于您的系统),否则取消选中它往往会将区域设置变量置为未设置或“C”。这可能足以解决您的问题。如果不是:

选项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 = *;“其他选项? – 2015-01-28 08:32:01

+0

什么时候可以得到?在手动设置变量à”Option 3“之后,但在重置之前,它应该看起来像”Check“区域设置,如果在重新启动Terminal时重置,这是因为终端的Prefs中的复选框没有被选中,或者因为你在.bash_profile,.bashrc或者.profle中有不同的启动指令(在OS X上,它应该是.bash_profile)。OS X“Language &区域“prefpane(名称因OS X版本而异)也会影响语言环境,但这听起来不像这里发生的情况 – alistaire 2015-01-29 18:43:52

2

有关alistaire的答案,我只改变了我的〜/上的LANG变量。配置文件:

export LANG=en_US.UTF-8

然后,重新启动终端会话(或源〜/ .profile文件)和您去。

+0

您的过程不起作用,而是将命令插入到$ HOME/.bashrc中。看起来$ HOME/.profile不是在提示开始时自动采集的。 – 2015-01-29 16:31:21

+0

@Masi - 修改.profile后是否重新启动系统? – Dason 2015-01-29 16:37:50

+0

@Dason No.我认为这是错误。 – 2015-01-29 17:26:22

2

将以下到$ HOME/.bashrc中

export LANG=en_US.UTF-8 

看来,由于某种原因,在$ HOME/.profile文件中没有启动终端采购。

1

我打开系统首选项/语言和地区,并选择美国作为我的地区,所有警告消失。