Ruyi venv?
Ruyi venv 是 RuyiSDK 提供的虚拟环境管理工具,专门用于创建和管理 RISC-V 开发环境。它允许开发者在隔离的环境中安装和使用不同的 RISC-V 工具链,避免系统环境冲突。
使用
- 查看可用工具链
在创建虚拟环境之前,先查看可用的工具链:
ruyi list
常见工具链包括:
gnu-plct: PLCT实验室优化的GNU工具链llvm: LLVM/Clang工具链generic: 通用GNU工具链
- 安装所需工具链
如果工具链未安装,需要先安装:
ruyi install gnu-plct
- 创建虚拟环境
# 创建名为 my-riscv-env 的虚拟环境
ruyi venv generic ~/projects/my-riscv-env -t gnu-plct
参数说明:
generic: 环境类型~/projects/my-riscv-env: 环境目录路径-t gnu-plct: 指定工具链类型
- 激活虚拟环境
cd ~/projects/my-riscv-env
source bin/ruyi-activate
激活后,命令行提示符会显示环境名称(如 «Ruyi ryu-venv»),表示已进入虚拟环境。
- 验证环境
在虚拟环境中验证工具链:
# 检查 RISC-V GCC 编译器(使用完整路径)
/home/zxh/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20250912.0/bin/riscv64-plct-linux-gnu-gcc --version
# 检查其他工具
/home/zxh/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20250912.0/bin/riscv64-plct-linux-gnu-objdump --version
注意:虚拟环境中的符号链接可能无法正常工作,建议直接使用工具链的完整路径。
- 退出虚拟环境
ruyi-deactivate
常见问题
问题1:找不到工具链目录
错误信息:
fatal error: cannot find the installed directory for the toolchain
解决方案:
-
检查工具链是否已安装:
ruyi list --is-installed y -
如果未安装,先安装工具链:
ruyi install gnu-plct -
更新包索引:
ruyi update
问题2:工具链符号链接无法工作
错误信息:
Traceback (most recent call last):
File "/home/zxh/projects/ryu-venv/bin/riscv64-plct-linux-gnu-gcc", line 6, in <module>
import ruyi
ModuleNotFoundError: No module named 'ruyi'
解决方案:
-
直接使用工具链的完整路径:
/home/zxh/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20250912.0/bin/riscv64-plct-linux-gnu-gcc -
或者将工具链目录添加到PATH环境变量
开发示例
编译简单的 RISC-V 程序
- 创建 C 源文件
hello.c:
#include <stdio.h>
int main() {
printf("Hello, RISC-V!\\n");
return 0;
}
- 在虚拟环境中编译(使用完整路径):
/home/zxh/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20250912.0/bin/riscv64-plct-linux-gnu-gcc -o hello hello.c
- 检查生成的二进制文件:
file hello
/home/zxh/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20250912.0/bin/riscv64-plct-linux-gnu-objdump -d hello
验证输出:
hello: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, for GNU/Linux 4.15.0, with debug_info, not stripped
