在更新到Angular 8 CLI之后,抛出".getColorDepth不是函数". [英] After update to Angular 8 CLI throws ".getColorDepth is not a function"

查看:270
本文介绍了在更新到Angular 8 CLI之后,抛出".getColorDepth不是函数".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的一个同事将我们的项目升级到8号角.我拉了他的分支,然后运行npm install.在他的分支上,一切正常.现在,每次运行任何"ng ..."命令时,我都会得到相同的错误:

A collegue of mine upgraded our project to angular 8. I pulled his branch and run npm install. On his branch everyhing works fine. I do now get the same error every time i run any "ng ..." command:

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)

我还尝试更新npm和node(现在具有版本10.16.0和6.9.0). 还删除了node_modules文件夹,然后运行npm install. 我该怎么办?

I also tried to update npm and node (now having versions 10.16.0 and 6.9.0). Also removed the node_modules folder and run npm install after that. What can I do?

推荐答案

查找有问题的文件./node_modules/@angular/cli/utilities/color.js.请注意有问题的行(15)上方的注释:

Look in the problematic file ./node_modules/@angular/cli/utilities/color.js. Notice a comment above the problematic line (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;

特别是:

// Typings do not contain the function call (added in Node.js v9.9.0)

将Node升级到不低于v9.9.0的版本可以解决此问题.

Upgrading Node to a version no less than v9.9.0 fixes the problem.

但是...

...选择如何升级 NodeJS 不一定很简单.请参阅如何更新Node.js?.一些流行的答案在页面的下方,因此值得一看.

...choosing how to upgrade NodeJS is not necessairly straightforward. See How do I update Node.js?. Some popular answers are quite far down the page so it's worth scrolling through.

这篇关于在更新到Angular 8 CLI之后,抛出".getColorDepth不是函数".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆