R Studio预览0.98.864中的LANG错误编织文档

时间:2014-05-25 02:25:30

标签: r environment-variables knitr rstudio pandoc

我在AWS上设置了作为EC2微实例的R Studio服务器(0.98.864 Ubuntu版本)的预览版本。当我尝试编织一个简单的.Rmd文档时,我收到以下错误消息:

Error in with_pandoc_safe_environment({ : 
  The 'LANG' environment variable must be set before running Pandoc.
Calls: <Anonymous> ... FUN -> get_pandoc_version -> with_pandoc_safe_environment
Execution halted

我已经通过编辑/etc/environment来设置语言变量,而且我已经安装了language-pack-en-base。现在,当我运行locale时,我得到了:

LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

所以似乎已经设置了LANG环境变量。

的确,当我从命令行运行R时,我得到:

> Sys.getenv("LANG",unset=NA)
[1] "en_US.UTF-8"

它似乎也已为所有用户设置,因为当我使用

以其他用户身份登录时
su - <username>

并运行locale,我得到了上述结果。

但是,当我重新启动服务器时:

sudo rstudio-server restart

然后以用户身份登录到服务器,我得到:

> is.na(Sys.getenv("LANG", unset = NA))
[1] TRUE

我的语言设置适用于所有用户,但不知道这些信息是否未送达服务器。

部分解决方法是以用户身份登录服务器并添加

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

到我的.Rprofile。但是,这一次仅适用于一个用户,我想立即为所有用户解决问题。

有人能看出我哪里出错吗?

或者R中是否有另一个必须修改的配置文件?我尝试创建并向/etc/rstudio/rserver.conf/etc/rstudio/rsession.conf添加各种命令(请参阅this document),但配置测试中没有任何内容。

1 个答案:

答案 0 :(得分:1)

如果尚未设置,LANG变量将在 rmarkdown 中设置为en_US.UTF-8。此更改已提交到提交bb2d87f