Files
mirror/mirror-shim/mirror.lua
CNWei 94b4c23299 refactor(spec,loader): 优化项目结构,
- 提取公共方法
- 优化 Mirror FromLua trait 处理逻辑
- 新增 logger.rs 统一日志处理
- 其他优化
2026-09-07 17:02:54 +08:00

74 lines
2.5 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- mirror.lua (总控制台)
-- __MIRROR_DIR__ 已经在 Rust 中注入完毕,并且是正斜杠格式 (例如 C:/Tools)
base_dir = __MIRROR_DIR__
-- 1. 自定义局部变量,方便复用与后续维护
local python_home = base_dir .. "/tools/python39"
return {
---------------------------------------------------
-- 1. 标准相对路径 + 正斜杠拼接 (最推荐,绿色便携)
---------------------------------------------------
["numa"] = {
home="",
target = base_dir .. "/tools/numa/numa.exe",
-- 追加参数
args = { "--help" },
aliases = {},
-- 注入环境变量,使用 get_env 获取宿主机当前值
env = {
PATH = { base_dir .. "/tools/numa", get_env("PATH") }
}
},
["git"] = {
target = base_dir .. "/git/bin/git.exe",
-- 追加参数
args = { "--no-pager" },
-- 注入环境变量,使用 get_env 获取宿主机当前值
env = {
PATH = { base_dir .. "/git/bin", get_env("PATH") }
}
},
---------------------------------------------------
-- 2. Lua 原生字符串语法 [[ ]] (适合直接从 Windows 复制绝对路径)
---------------------------------------------------
["python"] = {
-- 在 [[]] 内部,\ 不需要写成 \\,直接粘贴即可
target = [[C:\Python310\python.exe]],
args = { "-B" },
-- 空字典也是合法的,等同于不设置
env = {
-- 普通字符串Rust 直接新建/覆盖该环境变量
PYTHON_HOME = python_home,
HOME = base_dir .. "/home",
-- 数组列表:将 python_home 以及 python_home/Scripts 依次拼接到 PATH 前面
PATH = {
python_home,
python_home .. "/Scripts",
get_env("PATH")
}
}
},
---------------------------------------------------
-- 3. 极简参数覆盖 (没有 args 和 env)
---------------------------------------------------
["curl"] = {
target = base_dir .. "/curl/curl.exe"
},
---------------------------------------------------
-- 4. 模块化路由 (得益于 Rust 注入的 package.path)
-- require 能够直接在当前目录 或 tools/ 目录下寻找 node.lua
-- 模块缺失时由 Rust 侧记录日志并跳过该条目(见 runtime.rs
---------------------------------------------------
["node"] = require("node"),
["npm"] = require("npm")
}