node:无法初始化ICU(检查NODE_ICU_DATA或--icu-data-dir参数)

Poo*_*rav 13 icu node.js node-modules

我试图将CI环境中的节点版本从节点6升级到节点8.我也更新了full-icu版本.

$NODE_ICU_DATA被设置为/usr/lib/node_modules/full-icu

但仍然得到这个错误

node: could not initialize ICU (check NODE_ICU_DATA or --icu-data-dir parameters)
Run Code Online (Sandbox Code Playgroud)

任何想法,如何解决这个问题?

lin*_*e-o 19

如果您已经full-icu安装了,但是在以下之间升级了节点:

npm rebuild 确实解决了问题。


Ste*_*mis 6

您需要运行npm install包括full-icu软件包。这full-icu是安装后的步骤,为当前正在执行的节点下载适当的位。请注意,目录中可能会显示多个文件full-icu,没关系。

  • 您也可以采用经过尝试和测试的方法来核对“node_modules”并重新安装 (3认同)

Val*_*kov 6

如果你想使用带有 full-icu 和 Docker 的 Node.js,你可以使用 Dockerfile 的例子:

FROM node:lts-alpine

WORKDIR /icu
RUN npm init -y && npm install full-icu
ENV NODE_ICU_DATA=/icu/node_modules/full-icu

WORKDIR /project
COPY package*.json ./
RUN npm install
COPY . .

EXPOSE 8080
CMD [ "node", "server.js" ]
Run Code Online (Sandbox Code Playgroud)

它对我有用。