介绍
大略因为IDE还不够智能&弱小,在Rust中每次须要引入依赖时,都须要手工增加到Cargo.toml文件中,而且版本号还要去crates下面去查 (这个通过装置插件,能够给出提醒版本)
而cargo-edit能够主动帮忙增加依赖,且自动更新版本号
cargo-edit是一个很好用的工具,扩大了Cargo的性能,容许通过命令行批改Cargo.toml文件来增加、移除和降级依赖。
cargo-edit包含几个子命令,如cargo upgrade、cargo add和cargo rm等
。
其中,cargo add
,cargo rm
曾经在最新的cargo中集成。
cargo upgrade
用于将Cargo.toml中的依赖降级到其最新版本,并提供了不同的降级选项。
cargo set-version
用于在Cargo.toml中设置版本号,能够通过指定版本号或主动减少主版本、次版本或修订版原本应用。
如果没有装置cargo-edit,能够通过cargo install cargo-edit
进行装置
如果有如下报错:
error: linking with `cc` failed: exit status: 1 | = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="xxxxxx(一大堆PATH门路)" = note: Undefined symbols for architecture arm64: "_iconv", referenced from: _git_fs_path_iconv in liblibgit2_sys-d72cdefc619e6458.rlib(fs_path.o) (maybe you meant: _git_fs_path_iconv_clear, _git_fs_path_iconv_init_precompose , _git_fs_path_iconv ) "_iconv_close", referenced from: _git_fs_path_direach in liblibgit2_sys-d72cdefc619e6458.rlib(fs_path.o) _git_fs_path_iconv_clear in liblibgit2_sys-d72cdefc619e6458.rlib(fs_path.o) _git_fs_path_diriter_free in liblibgit2_sys-d72cdefc619e6458.rlib(fs_path.o) "_iconv_open", referenced from: _git_fs_path_direach in liblibgit2_sys-d72cdefc619e6458.rlib(fs_path.o) _git_fs_path_iconv_init_precompose in liblibgit2_sys-d72cdefc619e6458.rlib(fs_path.o) _git_fs_path_diriter_init in liblibgit2_sys-d72cdefc619e6458.rlib(fs_path.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) error: could not compile `cargo-edit` (bin "cargo-upgrade") due to previous errorerror: failed to compile `cargo-edit v0.12.2`, intermediate artifacts can be found at `/var/folders/9t/839s3jmj73bcgyp5x_xh3gw00000gn/T/cargo-installhdtjjF`.To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
可应该是arm64上特有的问题,可依照 cc failed: exit code: 1">error: linking with cc
failed: exit code: 1来操作,
即在~/.cargo/config
中(如果没有此文件,则创立),减少如下内容:
[target.x86_64-apple-darwin]rustflags = [ "-C", "link-arg=-undefined", "-C", "link-arg=dynamic_lookup",][target.aarch64-apple-darwin]rustflags = [ "-C", "link-arg=-undefined", "-C", "link-arg=dynamic_lookup",]
再次cargo install cargo-edit
,胜利装置
应用
以增加某个crate为例:
cargo add 须要的库名
再如