Cargo deny安装指路
2024/11/12 23:03:31
本文主要是介绍Cargo deny安装指路,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明来自 唯你
简介
cargo deny 是一个 Rust 工具,用于检查项目依赖项的许可证、安全性和其他合规性问题。在 Rust CI(持续集成)中,cargo deny 扮演着重要角色:
- **许可证检查:**确保项目使用的所有依赖项的许可证都符合项目的许可政策。
- **安全漏洞扫描:**检查依赖项是否存在已知的安全漏洞。
- **依赖项合规性:**验证依赖项是否符合项目的其他要求,如版本限制或来源限制。
- **禁用特定依赖项:**允许明确禁止使用某些依赖项。
在 CI 流程中,cargo deny 通常作为一个检查步骤运行,以确保项目在构建和部署之前满足所有合规性要求。这有助于维护项目的质量、安全性和法律合规性。
一句话:cargo deny 让你合法合规放心使用第三方依赖
使用
- 地址:Cargo deny
- 安装命令:
cargo install --locked cargo-deny && cargo deny init && cargo deny check
常见错误
使用 cargo-deny 报错 failed to open advisory database
Installed package `cargo-deny v0.16.1` (executable `cargo-deny.exe`) PS E:\Rust\easy-publish> cargo deny check 2024-11-11 02:07:34 [ERROR] failed to fetch advisory database https://github.com/RustSec/advisory-db: An IO error occurred when talking to the server: error sending request for url (https://github.com/RustSec/advisory-db/info/refs?service=git-upload-pack)
方案一: 可以尝试:
1. 删除 ~/.cargo/advisory-db/ 目录,然后使用 cargo deny fetch / cargo deny check 重新下载它。多试几次?
2. 在 deny.toml 配置中的 git 地址修改为 gitee 上的镜像地址:https://gitee.com/tyr-rust-bootcamp-mirror/advisory-db.git
3. 删掉 deny.toml,执行 cargo deny init 重新生成一个,然后按照你的需要修改。
4. 检查你的网络,想办法~
方案二:可以尝试通过运行:cargo deny check advisories 解决
升级最新版本,大量 this key has been removed
解决办法:
- 先删除原项目下的 deny.toml 配置文件
- 在项目根目录下运行命令行
cargo deny init
重新生成一份新版本 deny.toml 文件 - 在 deny.toml 中找到 allow 然后将原来 allow 中许可证,类似如下代码,拷贝到新 deny.toml 中即可
allow = [ "MIT", "Apache-2.0", "Apache-2.0 WITH LLVM-exception", "Unicode-DFS-2016", "MPL-2.0", "BSD-2-Clause", "BSD-3-Clause", "ISC", "CC0-1.0", "OpenSSL", ]
- 运行
cargo deny check
重新检测一波,是否正常
这篇关于Cargo deny安装指路的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享
- 2024-12-10搭建个人博客网站之一、使用hugo创建个人博客网站