ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Rust构建环境搭建

2022-01-27 09:33:45  阅读:174  来源: 互联网

标签:cargo rand crates 构建 Rust io 安装 rust 搭建


###安装涉及的概念
rustup : 安装rust和管理版本的工具,当前rust尚处于发展阶段,存在三种类型的版本,稳定版、测试版、每日构建版本,使用rustup可以在这三种的版本之间切换,默认是稳定版本。通过rustup可以安装rustc、cargo等工具。
cargo: rust的代码组织管理工具,提供了一些列的工具来支撑从项目建立、构建、测试、运行直至部署整个流程。
rustc:rust语言的编译器

###Linux Rust环境安装:
当前Rust支持两种安装方式:

  1. 通过rust官网下载rustup安装,linux在设置代理以后,通过如下命令进行下载:
    https://forge.rust-lang.org/infra/other-installation-methods.html
    curl https://sh.rustup.rs -sSf | sh
    image.png
    但是这种安装方式在公司内部多个环境均没有安装成功过,每次安装均报如下错误:
    image.png
    因此不推荐使用这种方式安装。
  2. 直接在官网下载安装包安装:
    2.1 rust编译环境安装
    https://forge.rust-lang.org/infra/other-installation-methods.html
    image.png
    根据个人的环境下载安装包,以linux为例,下载x86_64-unknown-linux-gnu安装包,
    解压:tar –zxvf rust-1.41.0-x86_64-unknown-linux-gnu.tar.gz
    进入目录:执行./install.sh 完成安装
    检查是否安装成功,使用 rustc -V命令查看版本信息:
    image.png
    2.2 cargo 配置
    修改cargo配置文件,在 ~/.cargo目录下增加一个config文件,将如下内容加入到config文件
   [source.crates-io]
   registry = "https://github.com/rust-lang/crates.io-index"
   replace-with = 'mirror'
   [source.mirror]
   registry = "http://mirrors.tools.huawei.com/rust/crates.io-index" 

如果已有config文件,建议增加公司内部cargo的源,见上面config文件配置中repleace。mirror 部分的配置。

安装完成后以一个实际的例子验证cargo配置是否正确:
使用cargo新创建一个编译工程:
cargo new demo --bin
image.png
修改src中的main.rs将我们实际的demo代码放入到main.rs

use std::io;
use rand::Rng;
fn main() {
    println!("Guess the number !");
    let secret_number = rand::thread_rng().gen_range(1,101); 
    println!("Please input your guess.");

    let mut guess = String::new();
    io::stdin().read_line(&mut guess)
        .expect("Failed to read line");

    println!("you guessed:{}",guess);
	println!("The secret number is : {}",secret_number);
}

使用rustc 对工程进行编译,出现如下错误:
image.png
出现如上错误的原因是,rust自带的编译器rustc在编译时,不会去自动寻找第三方依赖,需要手动指定编译,由于找到rand三方库,因此使用rustc编译直接报错。
使用cargo可以解决包依赖的问题,cargo会自动寻找三方库。
我们我们当前的代码中依赖随机数库。 但是 Rust 语言核心和 Rust 标准库都没有提供生成随机数的的方法或结构体。
我们只能借助于 https://crates.io/ 上其它开发者提供的第三方库或 crates。
我们可以打开网站 crates.io 并在顶部的搜索中输入 rand 然后回车来查找第三方随机数生成库。
从搜索的结果来看,由很多和随机数生成的相关库,不过我们只使用 rand。
点击搜索结果中的 rand 会跳转到 https://crates.io/crates/rand。
下图是我们需要的 随机数生成库 rand 的基本信息截图。
image.png
rand的版本是0.7.3,我们需要修改工程下的Cargo.toml文件,增加对rand库版本的说明:

[package]
name = "demo"
version = "0.1.0"
authors = ["miles <senlan008@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rand="0.7.3"

修改完成后,使用cargo build对工程进行构建:

root@ctup000107546:/home/rust/demo/src# cargo build
    Updating `http://mirrors.tools.huawei.com/rust/crates.io-index` index
  Downloaded cfg-if v0.1.10 (registry `http://mirrors.tools.huawei.com/rust/crates.io-index`)
  Downloaded getrandom v0.1.14 (registry `http://mirrors.tools.huawei.com/rust/crates.io-index`)
  Downloaded rand v0.7.3 (registry `http://mirrors.tools.huawei.com/rust/crates.io-index`)
  Downloaded rand_core v0.5.1 (registry `http://mirrors.tools.huawei.com/rust/crates.io-index`)
  Downloaded rand_chacha v0.2.2 (registry `http://mirrors.tools.huawei.com/rust/crates.io-index`)
  Downloaded ppv-lite86 v0.2.8 (registry `http://mirrors.tools.huawei.com/rust/crates.io-index`)
  Downloaded 6 crates (200.1 KB) in 0.65s
   Compiling libc v0.2.72
   Compiling getrandom v0.1.14
   Compiling cfg-if v0.1.10
   Compiling ppv-lite86 v0.2.8
   Compiling rand_core v0.5.1
   Compiling rand_chacha v0.2.2
   Compiling rand v0.7.3
   Compiling demo v0.1.0 (/home/rust/demo)
    Finished dev [unoptimized + debuginfo] target(s) in 7.34s
root@ctup000107546:/home/rust/demo/src#

###Windows Rust环境安装:
1、rust编译环境安装:
windows环境上安装Rust需要先安装MSVC或者gcc编译器环境,由于涉A原因,建议安装gcc,windows下gcc建议安装minGW,minGW的安装请参考:http://3ms.huawei.com/km/blogs/details/6223745
然后到rust官网下载 x86_64_pc_windows_gnu 安装包安装到windows上, 安装完成后增加cargo配置文件:
在 C:/user/xxxx/.cargo目录下增加config文件:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'mirror'
[source.mirror]
registry = "http://mirrors.tools.huawei.com/rust/crates.io-index"

2、clion集成rust调测环境:
clion直接到toolcloud上下载安装文件进行安装。
安装clion以后,安装rust和Toml插件,到插件管理界面安装插件
image.png
image.png

安装完成后,重启clion,在语言配置界面(File->Settings->Language&Frameworks)配置rust:
image.png
配置完成后就要可以在clion创建rust工程:
image.png

windows下安装rust遇到如下问题:
安装过rust之后,运行rustc或者cargo命令行命令时,出现error: no default toolchain configured 错误,解决此问题可通过
通过rustup重新指定link安装目录即可:

C:\Users\j00321907\.cargo\bin>rustup toolchain link mygnutoolchain "C:\Program Files\Rust stable GNU 1.44"
C:\Users\j00321907\.cargo\bin>rustup default mygnutoolchain
info: default toolchain set to 'mygnutoolchain'
C:\Users\j00321907\.cargo\bin>rustc.exe -V
rustc 1.44.1 (c7087fe00 2020-06-17)
分类:

标签:cargo,rand,crates,构建,Rust,io,安装,rust,搭建
来源: https://www.cnblogs.com/gongxianjin/p/15848769.html

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有