如何在 Rust 中制作一个程序,只需单击文件即可在任何地方执行,而无需使用
cargo run
?
有箱子吗?我已经为贪吃蛇游戏编写了代码,我想通过单击文件来运行它。
如果您使用以下命令编译 Rust 应用程序:
cargo build --release
它将在
./target/release
中放置一个二进制文件。因此,如果您的应用程序名为 snake_game
,您可以使用 ./target/release/snake_game
运行它,或者双击该文件。
此二进制文件是完全独立的,因此您可以将其移动或复制到计算机上的其他位置。
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
只是想在这里添加另一个答案,不确定它是否与最新版本的 rust 有关。
如果在项目的根目录中,您只需运行命令
cargo install --path .
,它会将其添加到货物中,并允许您仅使用项目名称运行二进制文件。
还有另一种方法可以使用 rustc。它将在您的文件所在的同一目录中创建一个可执行二进制文件。
确保您位于 src 目录中,并且文件名为 main.rs。
rustc main.rs
./main
使用 rustc 的优点是你可以运行任何文件,而不仅仅是 main.rs。就这样做:
rustc filename.rs
./filename
您可以从终端运行它,也可以通过单击该文件来运行它。
货物安装--路径.
如果您想将其作为本地安装的另一个 cli 应用程序运行, 不知道为什么人们建议手动启动 sudo cping sh**...