【发布时间】:2018-08-10 05:52:35
【问题描述】:
我构建了一个用 Rust 编写的简单 CLI,它使用命令 cargo run <ARGUMENTS> 执行。我希望能够从任何目录运行 CLI。我使用了 clap crate,并希望能够使用传递给 clap 的名称调用脚本:brainfast <ARGUMENTS>。我在 macOS 上运行。
【问题讨论】:
标签: rust command-line-interface
我构建了一个用 Rust 编写的简单 CLI,它使用命令 cargo run <ARGUMENTS> 执行。我希望能够从任何目录运行 CLI。我使用了 clap crate,并希望能够使用传递给 clap 的名称调用脚本:brainfast <ARGUMENTS>。我在 macOS 上运行。
【问题讨论】:
标签: rust command-line-interface
这更像是一个通用问题(我认为也是一个重复的问题,但我找不到任何问题)。
您必须将由cargo build --release 生成的可执行文件(您可以在target/release/crate_name 中找到)复制到您的$PATH 中的一个文件夹中。
我不是 macOS 方面的专家,因此我无法告诉您 $PATH 中包含的文件夹是什么,但您可以通过打开终端并输入 echo $PATH 自行查找。使用其中一条路径,它应该在您的终端中可用,不带货物或使用任何路径。
作为替代方案,您可以将文件夹添加到您的 $PATH 变量并将其放在那里,例如
export PATH /home/foobar/.bin:$PATH
cp target/release/brainfast /home/foobar/.bin
brainfast abc.txt 1 3 99 u
【讨论】: