在线安装
curl https://sh.rustup.rs -sSf | sh source "$HOME/.cargo/env" # vim /etc/profile export PATH=$PATH:/root/.cargo/bin 非root用户安装配置 export PATH=~/.cargo/bin:$PATH # rustc --version rustc 1.31.1 (b6c32da9b 2018-12-18) $ rustc --version rustc 1.68.2 (9eb3afe9e 2023-03-27) 接触rust近5年,再回首,rust已更新30多个小版本了
rust 国内代理
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup 参考Rust 安装与配置国内代理与镜像地址的方法参考 https://lzw.me/a/rust-abc.html
rust webassembly 环境搭建
主要分两大步: 1. 搭建一个html web服务,其js可以调用wasm文件 2. 将rust转换为wasm文件,供html web服务调用 网络不好就多试几次,或者换时间再试几次,本次在centos7环境下安装 linux 依赖包安装 yum install openssl openssl-devel yum install git rust安装 curl https://sh.rustup.rs -sSf | sh source "$HOME/.cargo/env" wasm安装 curl https://Rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh cargo install cargo-generate
$ mkdir /opt/wasm $ cd /opt/wasm $ node -v v14.17.0 在本地盘上执行,意思就是不要在直接插入电脑的移动硬盘上执行 npm init wasm-app ./demo && cd demo && npm i npm run start 浏览器中访问下面的地址会弹出一个框 http://localhost:8080/ 创建模板 -------------------------------------------------- /opt/wasm/demo下执行 cargo generate --git https://github.com/Rustwasm/wasm-pack-template.git --name rustlib 修改/opt/wasm/demo/rustlib/src/lib.rs #[wasm_bindgen] pub fn greet() { alert("你好, rustlib!"); } Rust 转 WASM -------------------------------------------------- /opt/wasm/demo/rustlib目录下执行: wasm-pack build --target web js通过wasm调用rust程序,因此先将rust转为wasm文件,再让JS调用, 该命令在pkg 目录下生成一个 wasm文件 和一个 js 文件API调用样例, 这个js文件名称默认为项目名称,这里项目名称为rustlib,所以js名称为rustlib.js 后续会在html中调用这个js,这个js调用wasm,wasm再调用rust库文件 在html中调用rust方法 -------------------------------------------------- 修改index.js,注释掉这个默认的greet方法 import * as wasm from "hello-wasm-pack"; // wasm.greet(); 然后在index.html中引入自定义的greet方法 <body> <script type="module"> import init, { greet } from './rustlib/pkg/rustlib.js'; async function run_wasm() { await init(); greet(); } run_wasm(); </script> </body>
cargo-generate create-wasm-app wasm-pack-template Rust 入门指南 (用 WASM 开发第一个 Web 页面) 入门 Rust 开发 WebAssembly Rust 安装与配置国内代理与镜像地址的方法参考