Я пытаюсь заставить npm install
работать внутри Docker контейнеров в моей системе ...
Я пробовал следующие контейнеры:
nikolaik/python-nodejs:python3.8-nodejs12
nikolaik/python-nodejs:python3.8-nodejs12-alpine
minideb:stretch
(установлен с nvm)
И все они имеют одинаковую ошибку. Когда я пытаюсь установить пакет npm, у него будет ошибка, которая выглядит примерно так:
# npm install -g typescript
npm ERR! Unexpected end of JSON input while parsing near '...ipt":"next","tsd":"la'
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-04-09T03_42_16_003Z-debug.log
Если я запусту что-то вроде npm cache clean --force
и снова введу команду установки, он будет в другой момент происходит сбой при разборе JSON.
Самое смешное, что иногда, если это действительно маленький пакет, он устанавливает его без проблем:
# npm install padleft [12/1883]
npm WARN saveError ENOENT: no such file or directory, open '/package.json'
npm WARN notsup Unsupported engine for padleft@0.2.0: wanted: {"node":"6.3.1","npm":"3.10.6"} (current: {"node":"12.14.1","npm":"6.13.4"})
npm WARN notsup Not compatible with your version of node/npm: padleft@0.2.0
npm WARN enoent ENOENT: no such file or directory, open '/package.json'
npm WARN !invalid#1 No description
npm WARN !invalid#1 No repository field.
npm WARN !invalid#1 No README data
npm WARN !invalid#1 No license field.
+ padleft@0.2.0
added 1 package from 1 contributor and audited 2 packages in 1.472s
found 0 vulnerabilities
Это почти кажется, что он не работает, если он не может установить что-то, если он не загружается очень быстро. Я пробовал разные версии узла / npm с nvm, и все это делает то же самое. На моем хост-компьютере npm работает нормально. Просто возникают проблемы во всех контейнерах Docker. У меня просто не получилось с установленной версией nvm в другом Docker контейнере на основе Ubuntu.