lts安装 rust ubuntu_一起学Rust编程「1」:开发环境

引言

Rust是近几年获得广泛关注和认可的一门系统级编程语言。它严苛的静态类型检查和独特的所有权系统,使得编译器能够尽可能的帮开发者在编译时就排除一些符合常见模式的bug。这也让很多人认为rust是一门更加“安全”的语言。

专注数据安全技术的红小豆同学也非常看好它的前景。虽然本职工作内没有做rust开发的机会,但是看到GitHub上基于rust的新项目遍地开花,作为一个有觉悟的业内人士,感觉也是时候该强行上车了!

学习编程最好的方式是什么?不用问,答案当然是动手啦。那么,从今天就跟着我一起用实践的方式入门这个语言吧!

第一节 开发环境

在VirtualBox里安装Ubuntu、Rust和VS Code.

VirtualBox是一个虚拟机软件。在一个Linux虚拟机里学习Rust开发有2个好处:

  1. Linux环境对Rust开发比较友好
  2. 即使运行的命令或者测试的代码有bug,破坏了系统盘(比如错误调用了删除文件的命令)或者导致死机(比如占用了太多内存),也不会影响自己的物理机。

安装VirtualBox

首先访问virtualbox.org下载自己的操作系统对应的安装包。

e73e541425b9f416d6b1f5e47273a1dc.png

根据步骤说明安装好VirtualBox,打开主界面(忽略我已有的2个虚拟机):

1f2ff96816a29c68c1177ffa291ffff0.png

然后新建:

a5ece88b33c4764a96aa5d69d0688143.png

给虚拟机选一个名字和保存位置,点击下一步:

fa6cf28240e19f37deb446ea0ffafd44.png

内存不需要太大,1G或者2G根据自己电脑的配置来定:

72a31baf3cec0ed7c8ef9689c662c2ce.png

(默认)创建新的虚拟磁盘:

ec458b2b49280b92d905d5c00489b3c2.png

类型也默认就好:

183d08e2590e5a19d4f08bec49af2a62.png

默认动态分配空间:

43c3762cc60c556bdca0b60be9741ac9.png

磁盘建议加大到20G,否则以后安装各种软件会很快占满:

85e6807da2ed0eaad0ebb51eb702b75f.png

创建好以后启动:

dbf51c9262a9623db57b24fe30942133.png

这里因为虚拟机还没有安装系统,VirtualBox会询问安装盘:

9fcdd6d8be704f8f05da21f5b82a46c4.png

我们去ubuntu.com下载最新的ISO,然后加载进来。

8504bc50f99bf578679b6196f7ce68c0.png

安装Ubuntu

加载好虚拟安装盘以后,我们点下一步开始启动:

212f83dac22b647eb32c2bfefeca7ed6.png

启动以后来到了ubuntu安装向导:

c840172f0515044ce115ca8947615ff5.png

选择键盘布局。这里一般默认就可以:

9d245e170bf1cf16e67d5ca5408193f9.png

选择最小安装、不下载更新:

6bbc96705a1cd7ef8ffbaba5b61c0c1f.png

使用整个磁盘:

ee6c5bdd9536132bf61e77158271ce39.png

确认:

4173716b3f13352b85b04cc025260e2b.png

选择时区:

176e349ae30c838730ce7e414f7974f3.png

然后填入用户名和密码,勾选自动登录:

4cd30dead2c45895d27a1ecb4c1a849b.png

然后安装开始:

c39abff7fa11facb948a11602090d606.png

稍等片刻,安装完成以后,根据屏幕提示重启:

ad886a2ca1dfff754b0f05f33f6c0b61.png

然后就进到了ubuntu虚拟机:

3cd3713543d0156ba0235d2d36c00e30.png

跳过帐号登录和一些初始化设置以后,来到了桌面:

eb23cc67bf78d8083525645a74765f40.png

如果提示软件自动更新,可以点击安装,也可以选稍后提醒:

24bef3c6d3c899948b2e28cf97ef05e8.png

安装VSCode

在虚拟机里打开Firefox,访问code.visualstudio.com,下载deb文件:

91bbcabec13964f03f3747c25f4b26a3.png

然后选择保存文件:

7a8fb08bba5b387b3d439593b83eed0c.png

然后在应用菜单中打开Terminal:

d44c4a17d5bdbacce371a3cced795a91.png
e32153f7f0db5c32c476c29fc91c50ac.png

这是我们在虚拟机里执行的第一个命令(安装刚才下载好的deb包):

sudo dpkg -i Downloads/code*.deb

sudo命令会询问你的密码,输入以后,vscode就开始安装了:

2c5defa6c60a4b2093f2af0361f2943c.png

装好以后,会出现在应用程序中:

cd493c1cb8beb18769ea7c22f7c66dcb.png

点击图标就可以启动:

900f6609c0e8064ed4f215b3488e2452.png

安装Rust

我们用rustup.rs的方式来安装rust

首先安装curl:

sudo apt install curl

然后是rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
78755d9898531efb16911f54c3c154f2.png

直接回车,安装默认版本:

51b5a9b3d977af8a9d7c7b42d8c8cf14.png

做完这些,你已经有一个可以学习rust开发的环境了。下一节我们就可以开始写代码了!

关注我,一起学习Rust开发。欢迎点赞,转发,收藏!

附录

你可以安装VirtualBox Guest Additions让你的虚拟机操作更流畅。

首先安装编译工具:

sudo apt install gcc make perl

然后在菜单中选择 Devices -> Insert Guest Additions CD image:

ee662812698bcdc64e8116762e7431de.png

安装完成以后,重启一下虚拟机让新的驱动生效(虚拟机桌面分辨率会自动调整)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 iPerf 测试 Azure VM 之间的网速

点击上方关注“汪宇杰博客” ^_^导语以往提到测网速,大家可能想到的都是用著名的 speedtest 等工具测试互联网连接速度。但实际上仅仅测试互联网连接速度并不可靠,在部分应用场景里网速还受到服务器之间的连接速度影响,因此清楚你的网络性能瓶…

[Nginx]nginx 配置实例-动静分离

nginx 配置实例-动静分离 1、什么是动静分离 Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处…

收购最大K8s服务商,重回独立的SUSE又要和Red Hat拼混合云

7月8日,SUSE 宣布收购 Kubernetes 管理平台公司 Rancher Labs,交易预计在2020年10月底之前完成。有外媒称,收购价预估在6亿至7亿美元之间。 宣布要收购之后,SUSE 的介绍前缀中又多了个关键词——Kubernetes,变成企业级…

post获取重定向的链接 python_【转载】python面试基础知识(四) 网络部分

最近,小编在整理python面试基础知识,看了很多博客、文章和咨询了一些大厂公司大牛。了解到,在python面试的时候,不仅要求你有项目经验,还要考试代码呢!今天,小编和大家分享一下python面试基础知…

[MyBatisPlus]MyBatisPlus简介特性

简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 愿景 我们的愿景是成为 MyBatis 最好的搭档,就像魂斗罗中的 1P、2P,基友搭配&…

交换机千兆和百兆对网速影响_家里明明装了百兆宽带!为啥网速还这么慢?原因竟然在这!...

现在的人,已经渐渐离不开手机和电脑,而说到手机和电脑,那就绕不过网络。随着光纤入户,网速有了大大的提升,百兆宽带也走进了寻常百姓家。可是不知道你有没有发现一个问题,为什么你明明安装的是百兆的宽带&a…

修复被破坏的 vs 工程设置

缘起 前几天打开工作项目进行编译,没想到居然报错,明明前一天编译还正常的。简单排查后,临时修复了问题。但是今天新建工程时居然还有相同的问题,是可忍熟不可忍?本文记录了排查过程,希望对各位小伙伴儿有帮…

7-4 二叉树的遍历!(简单) (25 分)

7-4 二叉树的遍历!(简单) (25 分) 二叉树作为FDS课程最核心的数据结构之一,要求每个人都掌握! 这是一道简单的二叉树问题! 我们将给出一颗二叉树,请你输出它的三种遍历,分别是先序…

[MyBatisPlus]入门案例

入门案例 创建测试数据库和表 CREATE DATABASE mybatis_plus /*!40100 DEFAULT CHARACTER SET utf8mb4 */; use mybatis_plus;CREATE TABLE user ( id bigint(20) NOT NULL COMMENT 主键ID,name varchar(30) DEFAULT NULL COMMENT 姓名, age int(11) DEFAULT NULL COMMENT 年…

vs 2019 aspx灰色_蛇纹当道,豹纹在侧:穿成动物园是2019时尚大势?

↑点击上方三联生活周刊加星标!忘记动物纹让你联想到的隐喻吧,它应该用时髦来吸引你。蛇纹当道,豹纹在侧和有嬉皮印记的植物花纹不同,动物纹让人觉得老派而华丽,所以前者有像《佩斯利公园》这样的歌来将它比喻成没有世…

TensorFlow.NET 在工业部署中的应用

前言深度学习训练的模型 如何快速地在工业应用中进行部署,这一直是工业领域深度学习技术应用的痛点。我们来看下TIOBE 2020年7月 的 TOP 10 编程语言排行榜:从上图中可以看到,Python 占据了 第 3 名,C# 在 第 5 名。在深度学习的科…

全年营业额怎么计算_门店盈亏平衡计算及案例分析 | 商品管理

以某门店为例,面积为150平方米。年租金16万元、人员工资费用15万元、水电费3万元,税费1.2万元、装修费2.9万元、交通费1.6万元、投入成本的利息及其他费用3.3万元。(进货折扣)是50%,春夏季销售额占年总销售额的40%,一件春夏季的衣…

人工智能?.NetCore一样胜任!

提起AI,大家都会先想到Python,确实Python作为一门好几十年的老语言,上一波的AI大流行使它焕发了青春。大家用Phtyon来做AI,最主要的原因无非就是编码量更少,很多数学和AI相关的Api都是现成的。但是随着ML.net的问世&am…

区域转换为二值图像_Matlab图像处理系列教程(一)

小编近期为大家带来一套全面系统的MATLAB在图像处理中的应用。灰度处理 灰度化处理就是将一幅色彩图像转化为灰度图像的过程。彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G&#xff0…

7.30 KubeCon2020 | 今天下午5:40 近几年最火爆的技术峰会之分享主题.NET开发者与Kuberentes...

01最负盛名的峰会自2018 年 KubeConCloudNativeCon 首次落地中国以来,CNCF 每年都会在中国举办云原生技术大会。大会每年都能吸引来自五大洲 48 个国家的开源精英和技术大咖前来参会。阿里、华为、腾讯等你所知道的每一家大厂都是KubeCon的大会赞助商。滑动查看更多…

[MyBatisPlus]测试BaseMapper的功能测试自定义功能

测试BaseMapper的功能 添加功能 /*** 实现新增用户信息*/Testpublic void testInsert(){User user new User();user.setName("张三");user.setAge(23);user.setEmail("zhangsanxx.com");int result userMapper.insert(user);System.out.println("r…

[MyBatisPlus]通用Service接口测试通用Service

通用Service接口 说明: 通用 Service CRUD 封装IService接口,进一步封装 CRUD 采用 get 查询单行 remove 删 除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆,泛型 T 为任意实体对象建议如果存在自定义通用 Service 方法的可能&#x…

程序员修神之路--晦涩难懂的CAP,是否完全正确?

微信搜一搜架构师修行之路菜菜哥,帮忙解决一个问题是不是面试又被虐了?是的呢,这次面试官问我什么是CAP?这个可就说来话长了......01PARTCAP说到CAP,首先不能不说分布式系统,前面几篇也说过,分布…

[MyBatisPlus]雪花算法

雪花算法 背景 需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。 数据库的扩展方式主要包括:业务分库、主从复制,数据库分表。 数据库分表 将不同业务数据分散存储到不同的数据库服务器,能够支撑…

如何隐藏运行 winform 程序?

群里有个同学问了问题 如何隐藏运行 winform 程序?,提起了我的兴趣,玩玩呗?那就玩玩吧!第一版 将一个 winform 程序隐藏执行,隐藏执行的方式有很多种,第一个 demo 就用最简单的方式,…