###安装涉及的概念
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

    但是这种安装方式在公司内部多个环境均没有安装成功过,每次安装均报如下错误:

    因此不推荐使用这种方式安装。
  2. 直接在官网下载安装包安装:
    2.1 rust编译环境安装
    https://forge.rust-lang.org/infra/other-installation-methods.html

    根据个人的环境下载安装包,以linux为例,下载x86_64-unknown-linux-gnu安装包,
    解压:tar –zxvf rust-1.41.0-x86_64-unknown-linux-gnu.tar.gz
    进入目录:执行./install.sh 完成安装
    检查是否安装成功,使用 rustc -V命令查看版本信息:

    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

修改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 对工程进行编译,出现如下错误:

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

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插件,到插件管理界面安装插件

安装完成后,重启clion,在语言配置界面(File->Settings->Language&Frameworks)配置rust:

配置完成后就要可以在clion创建rust工程:

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)
分类:

Rust构建环境搭建的更多相关文章

  1. [原]项目进阶 之 持续构建环境搭建(四)Jenkins环境搭建

    在之前的几篇文章中,我给大家分别介绍了这次的持续化构建环境搭建的相关前提内容.如果说前面的文章都是小菜的话,那么今天的这篇文章就是我们这个系列文章的主菜. 1.前提 安装jenkins需要安装JDK. ...

  2. [原]项目进阶 之 持续构建环境搭建(三)Maven环境搭建

    上次的博文项目进阶 之 持续构建环境搭建(二)Nexus私服器中,我们搭建了一个Nexus的maven私服,这次我们来重点讲解一下Maven的安装和配置.这里说明一下这次的环境搭建,比较基础,但却非常 ...

  3. [原]项目进阶 之 持续构建环境搭建(二)Nexus私服器

    上一篇博文项目进阶 之 持续构建环境搭建(一)架构中,我们大致讲解了一下本系列所搭建环境的基本框架,这次开始我们进入真正的环境搭建实战.重点不在于搭建的环境是否成功和完善,而是在搭建过程中充分认识到每 ...

  4. [置顶] 项目进阶 之 持续构建环境搭建(二)Nexus私服器

    上一篇博文项目进阶 之 持续构建环境搭建(一)架构中,我们大致讲解了一下本系列所搭建环境的基本框架,这次开始我们进入真正的环境搭建实战.重点不在于搭建的环境是否成功和完善,而是在搭建过程中充分认识到每 ...

  5. Grunt JS构建环境搭建以及使用入门

    Grunt JS构建环境搭建以及使用入门 1.应用场景 一种自动化任务处理工具,对于日常的需求(代码规则检查.代码合并)可以实现自动化执行,只需要保留package.json和Gruntfile.js ...

  6. Rust开发环境搭建

    1.Rust概述 按照百度百科的说法,Rust是一门系统编程语言 ,专注于安全 ,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言.Rust在语法上和C++类似 ,但是设计者想要在保证 ...

  7. Rust开发环境搭建和hello world工程

    windows10 WSL 打开wsl,执行以下命令 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 出现安装选项,选择1 ...

  8. Grunt自动化构建环境搭建

    1.环境准备 需要安装Git.Node.Bower.Grunt.Ruby NodeJS https://nodejs.org/en/ Ruby    http://rubyinstaller.org/ ...

  9. windows平台 cloin +rust 开发环境搭建

    rust 安装请看上一篇 clion 下载地址 破解 教程 1.先执行reset_jetbrains_eval_windows.vbs 2.打开软件选择免费使用 将ide-eval-resetter- ...

  10. 我是如何进行Spring MVC文档翻译项目的环境搭建、项目管理及自动化构建工作的

    感兴趣的同学可以关注这个翻译项目 . 我的博客原文 和 我的Github 前段时间翻译的Spring MVC官方文档完成了第一稿,相关的文章和仓库可以点击以下链接.这篇文章,主要是总结一下这个翻译项目 ...

随机推荐

  1. PTA C语言作业

    6-1 使用函数输出一个整数的逆序数 (20 分) 本题要求实现一个求整数的逆序数的简单函数. 函数接口定义: int reverse( int number );  其中函数reverse须返回用户 ...

  2. JUC锁:核心类AQS源码详解

    目录 1 疑点todo和解疑 2 AbstractQueuedSynchronizer学习总结 2.1 AQS要点总结 2.2 细节分析 2.2.1 插入节点时先更新prev再更新前驱next 2.2 ...

  3. Svelte Ui Admin后台管理系统|svelte3+svelteUI中后台前端解决方案

    基于svelte3.x+svelteKit+svelte-ui网页后台管理系统SvelteAdmin. Svelte-Ui-Admin 基于svelte3.x+svelteKit+vite3+echa ...

  4. ProxySQL 配置ProxySQL

    转载自:https://www.jianshu.com/p/212397a1be67 假定你已经对ProxySQL的架构有所了解.本文对ProxySQL的所有配置都是使用Admin管理接口完成的,该管 ...

  5. 如何调试 Docker

    开启 Debug 模式 在 dockerd 配置文件 daemon.json(默认位于 /etc/docker/)中添加 { "debug": true } 重启守护进程. $ s ...

  6. 面试突击87:说一下 Spring 事务传播机制?

    Spring 事务传播机制是指,包含多个事务的方法在相互调用时,事务是如何在这些方法间传播的. 既然是"事务传播",所以事务的数量应该在两个或两个以上,Spring 事务传播机制的 ...

  7. 《Go 精进之路》 读书笔记 (第一次更新)

    <Go 精进之路> 读书笔记.简要记录自己打五角星的部分,方便复习巩固.目前看到p120 Go 语言遵从的设计哲学为组合 垂直组合:类型嵌入,快速让一个类型复用其他类型已经实现的能力,实现 ...

  8. [题解] Atcoder ARC 142 D Deterministic Placing 结论,DP

    题目 (可能有点长,但是请耐心看完,个人认为比官方题解好懂:P) 首先需要注意,对于任意节点i上的一个棋子,如果在一种走法中它走到了节点j,另一种走法中它走到了节点k,那么这两种走法进行完后,棋子占据 ...

  9. 初等数论学习笔记 III:数论函数与筛法

    初等数论学习笔记 I:同余相关. 初等数论学习笔记 II:分解质因数. 1. 数论函数 本篇笔记所有内容均与数论函数相关.因此充分了解各种数论函数的名称,定义,符号和性质是必要的. 1.1 相关定义 ...

  10. # 如何在Windows下运行Linux程序

    如何在Windows下运行Linux程序 一.搭建 Linux 环境 1.1 安装 VMware Workstation https://www.aliyundrive.com/s/TvuMyFdTs ...