IntelliJ IDEA 2017中运行Rust项目报错:需指定bin target
解决IntelliJ IDEA中Rust项目
cargo run报错a bin target must be available的问题 你这是碰到了Cargo运行规则的典型小坑,我来一步步帮你捋清楚解决办法:
首先得明白这个错误的核心:a bin target must be available for cargo run意味着Cargo在你的项目里找不到能编译成可执行文件的入口。Cargo的默认规则是:
- 单二进制项目:必须有
src/main.rs作为主入口文件 - 多二进制项目:可以把各个可执行入口放在
src/bin/目录下(每个文件对应一个独立的可执行目标),或者在Cargo.toml里显式配置[[bin]]条目
你之前给--bin参数填target文件夹路径是完全错误的,--bin后面要跟的是二进制目标的名称,不是编译后的文件路径,这也是你第二次命令报错的原因。
接下来给你具体的解决步骤:
步骤1:检查项目是否有合法的二进制入口
- 打开项目根目录,看看有没有
src/main.rs文件。如果没有,直接创建一个,写个最简单的测试代码试试:
fn main() { println!("Hello, Rust!"); }
- 如果是多二进制项目,就在
src/下新建bin文件夹,然后在里面创建比如my_app.rs,同样写入main函数即可。
步骤2:修正IntelliJ的运行配置
- 点击IDEA右上角运行按钮旁边的下拉菜单,选择
Edit Configurations... - 删除你之前创建的错误配置,点击左上角的
+号,选择Rust新建配置 - 在
Configuration标签页里,Target下拉菜单应该会自动识别到你的二进制目标(比如项目名称,或者src/bin下的文件名)。如果看不到,点击旁边的刷新按钮,让Cargo重新扫描项目 - 保存配置后,点击运行按钮试试
步骤3:特殊项目结构的手动配置(可选)
如果你的项目入口文件不在默认路径(比如主文件叫src/my_main.rs),需要在Cargo.toml里显式声明:
[[bin]] name = "hello-world" # 这里填你要运行的目标名称 path = "src/my_main.rs" # 替换成你的实际入口文件路径
添加后,右键项目 -> Cargo -> Reload Cargo Project,再去运行配置里选这个目标即可
最后再补个小提醒:正确的cargo run命令格式是cargo run --bin <目标名称>,比如你的项目叫hello-world,那就是cargo run --bin hello-world,完全不用加target路径。
内容的提问来源于stack exchange,提问作者Doublecouponday
相关产品推荐
相关产品推荐

