我试图将CI环境中的Node版本从Node 6升级到Node 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)
你有任何想法如何解决这个问题吗?
我试图将CI环境中的Node版本从Node 6升级到Node 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)
你有任何想法如何解决这个问题吗?
您需要运行npm install
,包括full-icu
软件包。这是full-icu
的后安装步骤,它会下载适用于当前执行的节点的适当位。请注意,可能会在full-icu
目录中出现多个文件,不要紧。
如果您已经安装了full-icu
,但在升级Node.js之间:
npm rebuild
修复了该问题。
如果您已经安装了full-icu
,但在之间升级过 Node:
npm rebuild
可以解决这个问题。
如果你想在 Docker 中使用 Node.js 和 full-icu,你可以使用以下的 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" ]
对我来说这很有效。
yarn add full-icu
然后node NODE_ICU_DATA=node_modules/full-icu ...
- Alex