node.js - typescript repo bygger mislykkes på maskinen min, men går gjennom i Ubuntu Docker


Jeg har et TypeScript-repository som ikke klarer å bygge på maskinen min med feilen...

tsc --pretty -p tsconfig.json
../../../../../../node_modules/@types/graphql/subscription/subscribe.d.ts:17:12 - error TS2304: Cannot find name 'AsyncIterator'.

17 ): Promise<AsyncIterator<ExecutionResult> | ExecutionResult>;
              ~~~~~~~~~~~~~


../../../../../../node_modules/@types/graphql/subscription/subscribe.d.ts:29:12 - error TS2304: Cannot find name 'AsyncIterable'.

29 ): Promise<AsyncIterable<any>>;
              ~~~~~~~~~~~~~


error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Jeg kan ikke finne noen omtale av @types/graphql når jeg søker gjennom node_modules. Jeg finner derimot AsyncIterator i typescript-modulen...

når jeg kjører byggingen i en docker-container på Ubuntu, går det greit, men på min lokale OSSierra-maskin får jeg denne feilen. Jeg har funnet løsninger på nettet som sier å legge til «esnext» i libs i tsconfig.json, og dette ser ut til å fungere, men dette repositoriet er ikke under min kontroll og jeg har fortsatt ingen forklaring på hvorfor dette skjer. Noen ideer?

Svar #1

Vi løste det ved å fjerne en uregjerlig node_modules-mappe fra en overordnet katalog (i vårt tilfelle hjemmekatalogen).

Tilsynelatende ser TypeScript/Node sin moduloppløsning i overordnede kataloger for mer "informasjon", kanskje noen andre har en bedre forklaring :)