无法找到package language-pack-en

use*_*695 10 ubuntu debian locale apt-get docker

在我的NodeJS服务器上(作为docker镜像运行)...

Dockerfile

FROM node:4.8-slim
RUN apt-get update -y && \
    apt-get install -yqq locales git
Run Code Online (Sandbox Code Playgroud)

...没有安装英语语言环境:

RUN locale -a
Run Code Online (Sandbox Code Playgroud)

给我

C
C.UTF-8
POSIX
Run Code Online (Sandbox Code Playgroud)

在我的dockerfile中,我尝试添加缺少的语言

RUN apt-get install -y language-pack-en
Run Code Online (Sandbox Code Playgroud)

但这给了我

Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package language-pack-en
Run Code Online (Sandbox Code Playgroud)

那么如何添加缺少的语言包呢?


更新

运用

sudo locale-gen en_US
sudo locale-gen en_US.UTF-8
sudo update-locale 
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = "en_US.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to 
Run Code Online (Sandbox Code Playgroud)

默认语言环境:没有这样的文件或目录

Jho*_*ung 19

如果是debian映像,则可以在Dockerfile中添加以下内容

RUN apt-get install -y locales locales-all
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试:

export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_TYPE=en_US.UTF-8
sudo locale-gen
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)