【问题标题】:How to get rid of warning messages after installing R? [duplicate]安装 R 后如何摆脱警告消息? [复制]
【发布时间】:2015-02-02 15:37:30
【问题描述】:

通过 homebrew 安装 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 后如何消除这些警告信息?

【问题讨论】:

  • @RichardScriven,我确信这是一个很好的建议,但我不太同意。我在终端中运行 R。我的应用程序目录中没有应用程序。我知道在从项目页面安装带有安装程序包的 R 时有一个。
  • 你是对的。我删除了标签。
  • 我在 Yosemite 10.10.1 中没有“5: - -”行时得到相同的错误,这实际上可能与我所说的重复的帖子不同:stackoverflow.com/questions/9689104/… 可能相同题目中的问题。我实际上在没有自制软件的情况下安装了 R,但我遇到了同样的问题,所以我建议在标题和正文中删除自制软件。
  • 这个错误消息真的很烦人......无论如何,有人也可以告诉如何创建一个自定义库来存储来自 cran 的包。在 mac os x 上似乎默认目录有问题...

标签: r macos osx-yosemite


【解决方案1】:

对于 R,这是在终端上起作用的

$ defaults write org.R-project.R force.LANG en_US.UTF-8

Installing R on Mac - Warning messages: Setting LC_CTYPE failed, using "C"

【讨论】:

    【解决方案2】:

    我打开系统偏好设置/语言和地区并选择美国作为我的地区,所有警告都消失了。

    【讨论】:

      【解决方案3】:

      问题: 未设置指示使用何种编码的语言环境变量。要查看问题,请在终端中输入 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)”(或任何您需要的)。确保选中“启动时设置语言环境变量”下方的复选框。取消选中它往往会使语言环境变量未设置或保留为“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,你应该设置好了。

      【讨论】:

      • 我按照你的指示做了一切,但没有像你说的那样得到 locale 的输出。我得到 LANG= ; LC_COLLATE="C"; LC_CTYPE="en_US.UTF-8"; LC_MESSAGES="C"; LC_MONETARY="C"; LC_NUMERIC="C"; LC_TIME="C"; LC_ALL=;" 还有其他选择吗?
      • 你什么时候收到的?在手动设置变量à la“选项 3”之后,但在重置之前,它应该看起来像“检查”语言环境。如果它在您重新启动终端时重置,可能是因为未选中终端首选项中的复选框,或者因为您在 .bash_profile、.bashrc 或 .profle 中有不同的 bash 启动说明(在 OS X 上,它应该是 . bash_profile)。 OS X“语言和地区”prefpane(名称因 OS X 版本而异)也会影响语言环境,但这听起来不像这里发生的事情。
      【解决方案4】:

      将以下内容放入您的 $HOME/.bashrc

      export LANG=en_US.UTF-8
      

      看来,由于某种原因,$HOME/.profile 不是在启动终端时获取的。

      【讨论】:

        【解决方案5】:

        与 alistaire 答案相关,我只更改了 ~/.profile 文件中的 LANG 变量:

        export LANG=en_US.UTF-8

        然后,重新启动终端会话(或源 ~/.profile),然后继续。

        【讨论】:

        • 您的程序不起作用。我将命令插入到 $HOME/.bashrc 中,它可以工作。似乎 $HOME/.profile 不是在提示符开始时自动获取的。
        • @Masi - 修改 .profile 后是否重新启动系统?
        • @Dason 不。我认为这是错误的。
        猜你喜欢
        • 2010-12-13
        • 2015-06-22
        • 1970-01-01
        • 1970-01-01
        • 2020-12-16
        • 1970-01-01
        • 2022-11-16
        • 2021-09-21
        • 1970-01-01
        相关资源
        最近更新 更多