При запуске моего док-контейнера я получаю следующую ошибку
Error: Cannot find module 'strip-ansi'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/usr/local/lib/node_modules/gulp/node_modules/string-width/index.js:2:17)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
Хотя я и добавил strip-ansi в свой package.json и вручную вызываю npm i strip-ansi
в своем Dockerfile.
Я даже не уверен, что пытается использовать strip-ansi и почему он не может найти его в моей папке node_modules.
Я проверил все аналогичные статьи стека, пробовал разные версии узлов (6, 8, 10, 11), пытался переместить его в devDependencies. Единственное, что я не пробовал, это одна рекомендация этой статьи стека , чтобы использовать nvm для загрузки узла, так как я не уверен, как это сделать в моем Dockerfile (они используют curl)
Вот мой Dockerfile, я не уверен, что еще могу предоставить
FROM node:10.15.0
WORKDIR /html
RUN npm install -g gulp
RUN npm install -g bower
RUN npm install gulp
RUN npm link gulp
RUN npm install strip-ansi
COPY package*.json ./
COPY bower.json ./
RUN npm install
RUN bower install --allow-root
ADD . .
CMD gulp prodBuildNoDeploy
Мои команды сборки и запуска:
docker build -t clientparticipation .
docker run -it --name=cp clientparticipation
Если бы я точно знал, где это происходит, я мог бы знать, что еще я мог бы предоставить, может ли это быть связано с gulpfile?
У меня никогда не было этого проекта, поэтому я не совсем уверен, каким должен быть ожидаемый результат, судя по gulpfile, который он должен просто создать для производства.