Мы пытаемся создать приложение на c #, которое бы выполняло некоторые операции по комплектации / минимизации для веб-сайта интерфейса пользователя.
В настоящее время мы используем узел 6 из-за зависимостей gulp. Будущая ветвь обновляется до узла 10, но это требует разных зависимостей узлов при переносе нашего проекта. Я подумал, что использование контейнера докера для сборки может помочь облегчить переключение между версиями узлов на нашей локальной машине.
Итак, я создал образ докера
FROM microsoft/dotnet-framework:4.7.2-sdk
Затем я загрузил npm поверх него. Привязка тома к моей исходной директории Я могу установить пакеты npm, установить пакеты nuget и вызвать сборку, но это не удастся, потому что пропущен мой шаг gulp.
Я установил gulp как глобально в контейнере, так и локально в папке node_modules. Я получаю сообщение об ошибке типа
C:\Program Files\node\node-v6.16.0-win-x64\node_modules\gulp\node_modules\sver-compat\sver.js:19
var semver = version.match(semverRegEx);
^
TypeError: Cannot read property 'match' of undefined
at new Semver (C:\Program Files\node\node-v6.16.0-win-x64\node_modules\gulp\node_modules\sver-compat\sver.js:19:23)
at Function.match (C:\Program Files\node\node-v6.16.0-win-x64\node_modules\gulp\node_modules\sver-compat\sver.js:374:15)
У меня есть поиск по всей сети в течение нескольких дней, но мне не повезло найти что-нибудь, что может помочь мне с тем, что здесь происходит. Кто-нибудь был в состоянии заставить gulp успешно работать в док-контейнере Windows Server Core? Проблема с монтируемым каталогом? Использование Docker для Windows, если это имеет значение здесь.