如何制作一个无需使用 `cargo run` 即可执行的 Rust 程序?

问题描述 投票:0回答:5

如何在 Rust 中制作一个程序,只需单击文件即可在任何地方执行,而无需使用

cargo run

有箱子吗?我已经为贪吃蛇游戏编写了代码,我想通过单击文件来运行它。

rust rust-cargo
5个回答
24
投票

如果您使用以下命令编译 Rust 应用程序:

cargo build --release

它将在

./target/release
中放置一个二进制文件。因此,如果您的应用程序名为
snake_game
,您可以使用
./target/release/snake_game
运行它,或者双击该文件。

此二进制文件是完全独立的,因此您可以将其移动或复制到计算机上的其他位置。


12
投票

首先构建要发布的二进制文件

cargo build --release 

下一步处理权限

通常是

chmod +x target/release/whateverYourProgramIsCalled
使其可执行,但 Cargo 已经为我们做到了这一点

您可以检查它的八进制权限

ls -l target/release/whateverYourProgramIsCalled
chmod +x target/release/whateverYourProgramIsCalled
ls -l target/release/whateverYourProgramIsCalled

如您所见,没有任何变化...执行权限已经正确

运行该可执行文件

./whateverYourProgramIsCalled 

可选:从任何地方运行

您可以从命令行在任何地方运行该二进制文件

为此,您需要将其添加到您的路径中

对于 mac,您可以从

/etc/paths

添加到您的路径

无论你喜欢什么编辑器...vi、code 等等...

sudo code /etc/paths

我添加了这样的路径,保存并使用密码进行身份验证

/Users/`whoami`/code/rust/binaries

whoami 命令被 `

包围

接下来将新的二进制文件复制到该二进制文件文件夹中需要的位置

cp whateverYourProgramIsCalled /Users/`whoami`/code/rust/binaries

然后打开一个新的终端窗口

检查您的命令是否在您的路径中

where whateverYourProgramIsCalled

从任何地方运行您的命令

whateverYourProgramIsCalled 

庆幸


2
投票

只是想在这里添加另一个答案,不确定它是否与最新版本的 rust 有关。

如果在项目的根目录中,您只需运行命令

cargo install --path .
,它会将其添加到货物中,并允许您仅使用项目名称运行二进制文件。


1
投票

还有另一种方法可以使用 rustc。它将在您的文件所在的同一目录中创建一个可执行二进制文件。

确保您位于 src 目录中,并且文件名为 main.rs。

rustc main.rs
./main

使用 rustc 的优点是你可以运行任何文件,而不仅仅是 main.rs。就这样做:

 rustc filename.rs
 ./filename

您可以从终端运行它,也可以通过单击该文件来运行它。


0
投票

货物安装--路径.

如果您想将其作为本地安装的另一个 cli 应用程序运行, 不知道为什么人们建议手动启动 sudo cping sh**...

© www.soinside.com 2019 - 2024. All rights reserved.