node: не удалось инициализировать ICU (проверьте параметры NODE_ICU_DATA или --icu-data-dir)

Я пытался обновить версию узла в нашей среде CI с узла 6 до узла 8. Я также обновил версию полного icu.

$NODE_ICU_DATA установлен в /usr/lib/node_modules/full-icu

но все равно получите эту ошибку

node: could not initialize ICU (check NODE_ICU_DATA or --icu-data-dir parameters)

Любая идея, как это исправить?

Ответ 1

Вам нужно запустить npm install включая пакет full-icu. Это шаг postinstall для full-icu загрузки, который загружает соответствующие биты для текущего исполняемого узла. Обратите внимание, что несколько файлов могут отображаться в каталоге full-icu, что ОК.

Ответ 2

Если вы уже установили full-icu, но обновили узел между:

npm rebuild проблему.

Ответ 3

Если вы хотите использовать Node.js с full-icu и Docker, вы можете использовать пример 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" ]

Это работает для меня.

Ответ 4

Я получаю то же сообщение об ошибке при установке нового узла. Это совершенно новый компьютер с системой Windows 10 Pro версии 10.0.17763 Build 17763. Я попытался установить версию 10.16.0 LTS и версию 12.6.0 с сайта node.js. В обоих случаях у меня точно такая же ошибка, не имеет значения, запускаю ли я от имени администратора или обычного пользователя. Я не могу использовать решения, описанные выше, так как npm не будет работать (та же ошибка). Я понятия не имею, что делать дальше.

Я перенес вопрос здесь: Windows 10 - узел: не удалось инициализировать ICU (проверьте параметры NODE_ICU_DATA или --icu-data-dir) ошибка