Un de mes collègues a amélioré notre projet à angular 8. J'ai tiré sa branche et exécuté npm install
. Sur sa branche, tout fonctionne bien. J'obtiens maintenant la même erreur chaque fois que j'exécute une commande "ng ...":
C:\xxx\party-ui\node_modules\@angular\cli\utilities\color.js:15
process.stdout.getColorDepth() > 1;
^
TypeError: process.stdout.getColorDepth is not a function
at Object.<anonymous> (C:\xxx\party-ui\node_modules\@angular\cli\utilities\color.js:15:20)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (C:\xxx\party-ui\node_modules\@angular\cli\models\analytics.js:18:17)
at Module._compile (module.js:652:30)
J'ai également essayé de mettre à jour npm et node (ayant maintenant les versions 10.16.0 et 6.9.0). Supprimez également le dossier node_modules et exécutez npm install après cela. Que puis-je faire?
Regardez dans le fichier problématique ./node_modules/@angular/cli/utilities/color.js
. Notez un commentaire au-dessus de la ligne problématique (15):
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
const colors = require("ansi-colors");
exports.colors = colors;
const tty_1 = require("tty");
// Typings do not contain the function call (added in Node.js v9.9.0)
exports.supportsColor = process.stdout instanceof tty_1.WriteStream &&
process.stdout.getColorDepth() > 1;
colors.enabled = exports.supportsColor;
Plus précisément:
// Typings do not contain the function call (added in Node.js v9.9.0)
La mise à niveau Node vers une version non inférieure à v9.9.0 résout le problème.
mais ...
... choisir comment mettre à niveau NodeJS n'est pas nécessairement simple. Voir Comment mettre à jour Node.js? . Certaines réponses populaires sont assez loin sur la page, il vaut donc la peine de les parcourir.
eu la même erreur,
mes versions:
Angular CLI: 8.1.1
Node: 11.14.0
OS: linux x64
Angular: 8.1.1
courir:
rm -rf node_modules
rm -rf package-lock.json
Sudo npm cache clean --force
npm install
Essayez de supprimer package-lock.json et recommencez npm i
Si l'erreur s'est produite avec "@angular/core": "~8.2.3"
.
Je mets à jour la version du nœud vers la dernière version stable à l'aide de ces commandes et cela a résolu le problème pour moi sous Linux
Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable