NullInjectorError: StaticInjectorError (Платформа: ядро) [CompilerFactory] Angular - PullRequest
0 голосов
/ 28 мая 2020

У меня проблема с моим приложением. Angular 9.0.5 Когда я создаю приложение (ng build --prod) с помощью этапа сборки Jenkins, но артефакты (запускаемые ie. Http-сервером) не работают.

Показать мне ошибку:

Uncaught NullInjectorError: StaticInjectorError(Platform: core)[CompilerFactory]: 
  NullInjectorError: No provider for CompilerFactory!
    at NullInjector.get (http://localhost:4201/vendor.js:17724:27)
    at resolveToken (http://localhost:4201/vendor.js:32313:24)
    at tryResolveToken (http://localhost:4201/vendor.js:32239:16)
    at StaticInjector.get (http://localhost:4201/vendor.js:32080:20)
    at compileNgModuleFactory__PRE_R3__ (http://localhost:4201/vendor.js:53780:38)
    at PlatformRef.bootstrapModule (http://localhost:4201/vendor.js:54124:16)
    at Module../src/main.ts (http://localhost:4201/main.js:729:77)
    at __webpack_require__ (http://localhost:4201/runtime.js:85:30)
    at Object.0 (http://localhost:4201/main.js:741:18)
    at __webpack_require__ (http://localhost:4201/runtime.js:85:30)

Но если я go в ТО ЖЕ место на моей машине сборки и выполняю ng build --prod, тогда артефакты работают. Это вроде мага c для меня. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 04 июня 2020

Хорошо, я решил проблему.

В моем случае я использовался pnpm в качестве диспетчера пакетов. И в качестве зависимости у меня есть некомпилированные пакеты (машинописный текст)

И у Дженкинса есть проблема с доступом к этому длинному пути (p npm использовать хранилище для решения зависимостей)

Когда я go to эта машина находится в рабочей области сборки (без очистки) и запускает ng build --prod, тогда сборка была построена правильно, артефакты.

РЕШЕНИЕ 1: Используйте npm вместо pnpm
РЕШЕНИЕ 2: Не использовать нескомпилированные пакеты (машинописный текст)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...