簡體   English   中英

為什么 cargo build 不能提供豐富多彩的錯誤信息?

[英]Why cargo build can’t offer colorful error messages?

在 PowerShell 中,如果我使用“rustc”編譯“main.rs”,我會在 colors 中得到語法錯誤消息。

使用“cargo build”,我只能得到 2 個彩色單詞“Compiling...”“error...”和單色語法錯誤消息。

顏色有什么問題?

像許多可以 output 顏色的程序一樣, rustc檢測其 output 是直接進入控制台還是重定向到文件。 這是因為顏色通常是通過在 output 中插入特殊控制字符來生成的,這些字符會污染文件。

cargo調用rustc時,會截取其 output 並將其打印到最后一個 go 中,這樣它就可以多次並行調用rustc而不會將它們的 Z78E6221F6393D1356681DB398F 混在一起。 不幸的是,這隱藏了它在rustc的控制台中運行的事實(因為嚴格來說它不是:它運行到本身在控制台中運行的cargo )。

rustc有一個命令行參數,即使不在控制台中運行也可以強制顏色: --color always 在 Linux 上, cargo在調用rustc時啟用此參數,因此錯誤消息確實有顏色。 我懷疑 PowerShell 處理顏色的方式與 Linux 控制台不同,這會阻止它為您工作。 您可以通過在調用cargo build之前將RUSTFLAGS環境變量設置為--color always來嘗試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM