首页 > 解决方案 > 在 windows 上执行 cargo run 时 rustc 消失

问题描述

我目前正在 Windows 10 上开发 Rust 程序。几个月前,我使用 cargo 创建了一个库包。从那时起,我一直在开发这个程序。每当我想执行我所拥有的东西时,我都会转到 cmd 并在我的货物文件夹中执行以下命令:

cargo run --release --bin main

但是,几周前,一些奇怪的事情开始发生。每当我执行相同的命令时,我注意到程序实际上启动但它抢先完成(我知道这是因为终端的输出)。当程序完成时,它应该写入终端“FINISHED”。但这永远不会发生。如果我再次执行命令(不更改代码),这一次打印到终端的唯一内容是 cargo 发出的构建消息。然后,当我第三次执行时,我的终端上出现以下消息:

error: 'cargo.exe' is not installed for the toolchain 'stable-x86_64-pc-windows-msvc'
To install, run `rustup component add cargo --toolchain stable-x86_64-pc-windows-msvc`

然后,如果我执行建议的命令,我有以下内容:

component 'cargo' for target 'x86_64-pc-windows-msvc' was automatically added because it is required for toolchain 'stable-x86_64-pc-windows-msvc'

奇怪的是,如果我在我拥有的 Ubuntu 终端应用程序上执行之前的 cargo run 命令(它模拟了一个 linux 终端,但我仍然在我的 windows 文件系统上),就不会出现这个问题。我可以执行 100 或 1000 次,没有问题。但这并不好,因为我的程序创建了一个多线程环境,而我的 Ubuntu 终端就像一个虚拟机,所以我不相信我可以访问我笔记本电脑的所有内存。

目前我在 Windows 和我的 ubuntu 终端上有以下版本的 rust:

 rustup 1.18.3 (435397f48 2019-05-22)

到目前为止,我一直在做的解决这个问题是在我的 Windows 上重新启动计算机并重新安装 rust,因为当我执行“rustup self uninstall”时,有时会出现没有安装权限的错误(我只有 1 个用户我的电脑,据说我有管理员权限)。

我已经用谷歌搜索了这种情况,但我没有发现任何关于 rustc 在执行货物运行时消失的信息。现在我什至不能在 windows cmd 上运行我的程序,因为这个问题每次都会发生。

标签: linuxwindowsrustrust-cargo

解决方案


问题是我电脑上的防病毒软件。

替换它后,该程序运行良好,并且没有出现我使用 rustc 时遇到的问题。


推荐阅读