javascript - Modul ikke funnet: Feil: Rekursjon ved løsning i Angular-app
Jeg prøver å importere modulen min import { waitProp } from 'wait-prop';
Og jeg har denne feilen
ERROR in ./src/app/qr-scanner/qr-scanner.component.ts
Module not found: Error: Recursion in resolving
Stack:
resolve: (/Users/gkucmierz/workspace/web-tools/src/app/qr-scanner) wait-prop
newResolve: (/Users/gkucmierz/workspace/web-tools/src/app/qr-scanner) wait-prop
parsedResolve: (/Users/gkucmierz/workspace/web-tools/src/app/qr-scanner) wait-prop module
describedResolve: (/Users/gkucmierz/workspace/web-tools/src/app/qr-scanner) wait-prop module
rawModule: (/Users/gkucmierz/workspace/web-tools/src/app/qr-scanner) wait-prop
module: (/Users/gkucmierz/workspace/web-tools/src/app/qr-scanner) wait-prop
resolve: (/Users/gkucmierz/workspace/web-tools/node_modules) ./wait-prop
newResolve: (/Users/gkucmierz/workspace/web-tools/node_modules) ./wait-prop
parsedResolve: (/Users/gkucmierz/workspace/web-tools/node_modules) ./wait-prop
describedResolve: (/Users/gkucmierz/workspace/web-tools/node_modules) ./wait-prop
relative: (/Users/gkucmierz/workspace/web-tools/node_modules/wait-prop)
describedRelative: (/Users/gkucmierz/workspace/web-tools/node_modules/wait-prop)
rawFile: (/Users/gkucmierz/workspace/web-tools/node_modules/wait-prop)
file: (/Users/gkucmierz/workspace/web-tools/node_modules/wait-prop)
relative: (/Users/gkucmierz/workspace/wait-prop)
describedRelative: (/Users/gkucmierz/workspace/wait-prop)
Dette er min Angular-versjon:
ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 10.0.0
Node: 14.4.0
OS: darwin x64
Angular: 10.0.1
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Ivy Workspace: Yes
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.1000.0
@angular-devkit/build-angular 0.1000.0
@angular-devkit/build-optimizer 0.1000.0
@angular-devkit/build-webpack 0.1000.0
@angular-devkit/core 10.0.0
@angular-devkit/schematics 10.0.0
@angular/cdk 10.0.0
@angular/cli 10.0.0
@angular/material 10.0.0
@ngtools/webpack 10.0.0
@schematics/angular 10.0.0
@schematics/update 0.1000.0
rxjs 6.5.5
typescript 3.9.5
webpack 4.43.0
Hva kan være galt her?
Jeg vet ikke hva jeg skal skrive ennå for å unngå at dette innlegget ser ut til å være mest kode. Jeg la til mange detaljer, inkludert versjonene av miljøet mitt.
Svar #1
Som @circleofconfusion, ser jeg effektivt dette på min CI (og også i en Docker-container som gjør noen ting med min node_modules-mappe som sannsynligvis også vil skje på en CI).
Jeg oppdaget at argumentet --preserveSymlinks når det sendes til ng test (det er der jeg ser feilen) vil bryte rekursjonen (fikse) for å løse modulen jeg hadde en feil med.
Du vil finne dette argumentet på https://angular.io/cli/build, og du kan redigere din angular.json for å sette egenskapen slik at du ikke trenger å spesifisere den på kommandolinjen. Du må legge det til i options-blokken i hver av de problematiske byggerne (sannsynligvis i noen av byggerne som starter med "@angular-devkit/build-angular"). Dette vil fortelle Angular å ikke løse symboliske lenker til deres faktiske sti, og løser problemet jeg har (min node_modules er faktisk symbolsk lenket til et delt sted).
Håper dette hjelper!