perl 设置区域设置失败

piwo6bdm  于 2022-11-24  发布在  Perl
关注(0)|答案(2)|浏览(200)

我在R Markdown日志中不断收到以下错误消息:

cropping document_files/figure-latex/ranking_time_output-1.pdf
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LC_ALL = (unset),
    LC_CTYPE = "en_NL.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

我试过很多方法,比如:

Sys.setlocale("LC_ALL", 'en_US.UTF-8')
Sys.setenv(LANG = "en_US.UTF-8")
Sys.setlocale("LC_MESSAGES", 'en_GB.UTF-8')

然而,这似乎都不起作用。
我必须在命令行中做一些事情吗?或者这是一个我可以在R中修复的问题?我不是这两方面的Maven,所以希望得到帮助!
RStudio版本:0.99.903,系统:Mac OS X操作系统10_11_6
此外,我位于荷兰,但我在我的系统上运行的一切英语。

rekjcdws

rekjcdws1#

LC_CTYPE设置为“en_NL.UTF-8”。Mac OS X上不存在这样的区域设置(可能也没有其他操作系统)。请尝试查找错误设置的来源,因为它可能还会导致其他问题。
用Sys.setlocale()设置语言环境是无用的,因为Perl运行在一个用fork()和exec()创建的子进程中,然后根据进程环境切换语言环境。
为Perl进程设置环境可能是正确的方法,但您必须覆盖错误的值LC_CTYPE,而不是LC_ALL:

Sys.setenv(LC_CTYPE = "en_US.UTF-8")
uqxowvwt

uqxowvwt2#

您可以通过以下方式设置这些环境变量:
sudo vi /etc/environment
添加这些行

LANG=en_US.utf-8
LC_ALL=en_US.utf-8

相关问题