J'ai un projet Angualr 6 et je tente d'exécuter la commande suivante npm run build
. Comment le message d'erreur ci-dessous apparaît.
ERROR in node_modules/rxjs/internal/symbol/observable.d.ts(4,9): error TS2687: All declarations of 'observable' must have identical modifiers.
node_modules/@types/node/index.d.ts(167,14): error TS2687: All declarations of 'observable' must have identical modifiers.
version angulaire
Angular CLI: 6.0.0
Node: 9.8.0
OS: darwin x64
Angular: 6.0.0
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, http, language-service, material, platform-browser
... platform-browser-dynamic, router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.6.0
@angular-devkit/build-angular 0.6.0
@angular-devkit/build-optimizer 0.6.0
@angular-devkit/core 0.6.0
@angular-devkit/schematics 0.6.0 (cli-only)
@angular/flex-layout 6.0.0-beta.15
@ngtools/webpack 6.0.0
@schematics/angular 0.6.0 (cli-only)
@schematics/update 0.6.0
rxjs 6.1.0
TypeScript 2.7.2
webpack 4.6.0
J'ai oublié de mentionner que cela ne se produit que dans mon image de docker.
docker build -t $IMG --build-arg env=production .
# Stage 0 - Pre-requisite: Based On Node.js to BUILD and compile Demo Angular App.
FROM node:8.11.2 as node
WORKDIR /app
COPY package.json /app/
RUN npm install
COPY ./ /app/
ARG env
RUN npm run build -- --configuration $env
# Stage 1 - Based On Nginx to have ONLY a compiled and PRODUCTION ready build.
FROM nginx:1.14
COPY --from=node /app/dist/ /usr/share/nginx/html
COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf
Eu le même problème après la mise à jour de @ types/node vers 10.3.0. Après la mise à niveau vers la version 10.1.4, tout fonctionne à nouveau. Je pense que rxjs doit être mis à jour pour fonctionner avec la nouvelle version de @ types/node. Donc pour le moment, utilisez simplement l'ancienne version:
npm install @types/[email protected]
MISE À JOUR: Le correctif sur RxJS est déjà fait -> https://github.com/ReactiveX/rxjs/pull/377 . Il ne leur reste plus qu'à fusionner les modifications et publier la nouvelle version.