windows11 WSL Ubuntu rust环境搭建以及vscode配置Rust
1.稀里糊涂的环境配置
在看了一些视频之后,了解了什么是web3 Bitcoin 区块链 账单 交易 substrate…等新概念之后,开始了下海第一步,要安装环境。于是稀里糊涂点开 substrate官网跟着流程走
-
管理员进入 powerShell 输入
wsl --install
-
我遇到的报错 WslRegisterDistribution failed with error: 0x8004032d ,于是搜索前辈们的文章找到办法:
win+R 输入 optionalfeatures.exe 打勾选下面两个
-
无脑的复制官网命令,执行等待,终于安装完了Ubuntu 重启电脑之后。。。
搜索:U 发现Ubuntu 打开它
-
然后一条条命令复制执行, 如果报错大概率是网络问题 ,稀里糊涂的应该是安装完了
到这里,我开始不知道我在干什么,我不是在安装配置环境吗?
下面提示现在您已经安装了 Rust 并为 Substrate 开发配置了 Rust 工具链,您可以通过克隆 Substrate节点模板文件和编译 Substrate 节点来完成开发环境的设置。
-
其实我一点都看不懂这是在干啥!!!! 然后稀里糊涂的去polkadot-sdk-solo 节点模板 这个github仓库看看接下来可以干什么
-
跟着仓库的指引 无脑复制命令执行 ,然后在
cargo +nightly doc --open
这里出错了33行报错 error[E0635]: unknown feature stdsimd
我又搜索前辈们的解决方案 降ruts版本不管用 折腾了三个小时, 突然发现这个命令是用来查看此模板的Rust 文档的
此时一个念头闪过 这个命令不是重点操作 那不管他应该也行? -
于是我直接执行, 终端像花儿一样美丽的绽放,
./target/release/node-template --dev
这个。。。应该是运行了所谓的什么单节点开发链了 。
2 . 运行成功可以打开polkadot前端网址如下 并且可以看到页面
Polkadot/Substrate Portal
具体功能还需要我去探索一番 还有报了太多错误了没有收集下来! 但是在这里鼓励小伙伴 去求助issue求助gpt等方法 或者重新三五遍 一定要坚持最后都会成功的!! 之后回过头来可能才明白当初的报错具体是什么意思 现在不明白不要焦虑!!!
3.稀里糊涂的vscode配置
真得想哭,到这里我也不知道我该干什么。我已经把比特币什么区块链哈希分布式网络这些概念抛到脑后。。。 我到底在干什么啊?????
- 冷静下来看到前辈们的帖子, 大家好像都要去配置vscode的rust 那我也跟着搞一个!!!
- 我先去看了vscode官网的Rust配置 安装插件执行cargo
我在思考:我的终端是wins不是Ubuntu的那个阿, 怎么可能cargo成功对吧
果然失败了 还得靠前辈们的石头过河 /(ㄒoㄒ)/~~ 感谢我搜到的所有文章,正式开始说一下我的过程
- 安装插件
Rust
Rust-analyzer
crates
CodeLLDB
Rust Syntax
Rust Test Lens
Even Better TOML
WSL 安完这个终端变成了Ubuntu终端一样样的
注意 这几个插件是安装到window里面 就是本地, wsl Ubuntu相当于是连接远程机。 之后会遇到一个问题:有些插件提示”在WSL:Ubuntu中安装(如果按照一直显示正在安装或者安装不兼容 请看 目录四)“
- 回到vscode官网的Rust配置 跟着下面的测试案例写个Hello World 测试一下,在终端输入命令
#创建一个hello_world项目
cargo new hello_world
#进入这个项目文件夹 打开vscode
cd hello_world
code .
#构建
cargo build
#运行这个项目
cargo run
到这里应该感觉自己可以进行下一步学习了吧!
为了不忘记自己走的扭曲道路,写个笔记记录一下,希望帮助到其他小伙伴。也感谢其他前辈们的文章,一起共勉加油!!
4. wsl:Ubuntu安装rust插件 (打开Ubuntu终端)
查看自己架构,一般是 X86_64
uname -m
# x86_64
自己下载对应架构的包,下载链接
wget https://github.com/vadimcn/vscode-lldb/releases/download/v1.6.10/codelldb-x86_64-linux.vsix
找到刚才输入命令下载的安装包 点击确定
然后 Ctrl+Shift+P 打开设置复制下面的内容
{
// code runner
"code-runner.runInTerminal": true,
"code-runner.saveFileBeforeRun": true, // run code前保存
"code-runner.clearPreviousOutput": true, // 每次run code前清空属于code runner的终端消息,默认false
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}/build",//指定配置文件compelie_commands.json所在目录,这里有三种方法生成
// 在后台自动分析文件(基于complie_commands)
"--background-index",
// 同时开启的任务数量
"-j=12",
// "--folding-ranges"
// 告诉clangd用那个clang进行编译,路径参考which clang++的路径
"--query-driver=/usr/bin/clang++",
// clang-tidy功能
"--clang-tidy",
"--clang-tidy-checks=performance-*,bugprone-*",
// 全局补全(会自动补充头文件)
"--all-scopes-completion",
// 更详细的补全内容
"--completion-style=detailed",
"--function-arg-placeholders",
// 补充头文件的形式
"--header-insertion=iwyu",
// pch优化的位置
"--pch-storage=memory",
],
}
然后重启窗口 发现wsl:Ubuntu已安装插件有了