美文网首页
cargo 解决git依赖私库办法

cargo 解决git依赖私库办法

作者: 包牙齿 | 来源:发表于2019-10-22 15:41 被阅读0次

    Rust实际场景,不仅需要依赖https://crates.io/的公共mod,自己依赖的git私库服务也是常见现象。
    cargo正好也解决了私库依赖的问题。详细说明见链接:
    https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-git-repositories

    image.png

    cargo git私库解决办法

      1. 添加.ssh/config配置
    Host *
       UseKeychain yes
       AddKeysToAgent yes
       IdentityFile ~/.ssh/id_rsa
    
      1. 指定私钥文件
    ssh-add -K ~/.ssh/id_rsa
    
      1. cargo 的toml文件添加依赖,如下
    [package]
    name = "demo_rust"
    version = "0.1.0"
    authors = ["baoyachi <baoyachi>"]
    edition = "2018"
    
    # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
    
    [dependencies]
    json               = "0.4"
    pretty_env_logger = "0.3"
    serde             = "1.0"
    common-utils = { git = "ssh://git@xxx.com/common/common-utils.git", tag = "v0.0.1" }
    common-log = { git = "ssh://git@xxx.com/common/common-log.git", branch = "master" }
    

    这里的 common-utils common-log 就是私库的具体依赖。

    common-utils = { git = "ssh://git@xxx.com/common/common-utils.git", tag = "v0.0.1" }
    common-log = { git = "ssh://git@xxx.com/common/common-log.git", branch = "master" }
    
    • 这里的git使用ssh方式访问

    • tag :表示当前git上的tag

    • branch :表示当前git的 分支号
      通常,我们会采用tag对依赖的git代码管理;branch的缺点无法lock代码。

      1. 执行cargo build
        正常情况下,cargo build可以正常下载crates.io和git私库代码

    相关文章

      网友评论

          本文标题:cargo 解决git依赖私库办法

          本文链接:https://www.haomeiwen.com/subject/zwdqvctx.html