VSCode中node命令不可用的根本原因是启动时未继承shell的PATH环境变量;macOS需检查~/.zshrc是否导出Node路径并source生效,Windows需重装Node时勾选“Add to PATH”或手动添加C:\Program Files\nodejs\到系统PATH,重启前须彻底关闭VSCode并从命令行启动。

VSCode 里 node 命令不可用,哈希脚本根本跑不起来
不是插件没装、也不是代码写错,而是 VSCode 启动时没继承 shell 的 PATH。你在终端敲 node -v 能出结果,但 VSCode 的集成终端或 code-runner 一执行就报 command not found: node,基本就是这个原因。
- macOS:检查
~/.zshrc或~/.bash_profile是否包含export PATH="/usr/local/bin:$PATH"(Homebrew 安装 Node 默认路径),改完运行source ~/.zshrc - Windows:重装 Node.js 时务必勾选 “Add to PATH”;若已安装,手动把
C:\Program Files\nodejs\加进系统环境变量PATH - 重启 VSCode 前,关掉所有窗口,用命令行启动:
code --no-sandbox(macOS)或直接双击图标(Windows),避免继承旧 shell 环境
用 crypto 模块生成文件/字符串哈希,别硬套浏览器 MD5 库
Node.js 自带 crypto 模块,稳定、无依赖、支持流式读取大文件。浏览器里用的 blueimp-md5 或 object-hash 在 Node 里要么不兼容,要么无法处理二进制文件流——直接白忙。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 字符串哈希:
crypto.createHash('md5').update('hello').digest('hex') - 文件哈希(推荐流式,防内存溢出):
fs.createReadStream('file.txt').pipe(crypto.createHash('sha256').setEncoding('hex')) - 注意
digest()必须调用,且传参是'hex'、'base64'等编码,不是'string' - MD5 仅适用于非安全场景(如缓存键、校验完整性),别用于密码——那是
scrypt或pbkdf2的事
code-runner 执行哈希脚本时乱码或卡死,关键在编码和模块模式
code-runner 默认用 node $fileName 运行,但不设编码、不处理 ES Module、不支持 stdin,遇到中文路径或 process.stdin 就挂。
- Windows 下加
-r utf-8防乱码:"node -r utf-8 $fileName" - ESM 项目必须加
--experimental-specifier-resolution=node,否则import报错 - 别用它跑需要交互输入的哈希脚本(比如让用户输路径),换到集成终端手动执行,或改用 VSCode debugger
- 如果脚本读文件用的是相对路径,确保
code-runner的cwd设为$workspaceRoot,否则路径解析失败
用 Snippets Generator 插件生成哈希片段时,JSON 格式和占位符最容易翻车
这类插件(如 Snippet Generator by dzhavat)能把选中代码转成 JSON 片段,但哈希逻辑常含多行、缩进、引号嵌套,手填极易 JSON 解析失败。
- 选中代码前,统一用空格缩进(别混用 Tab),插件会原样复制缩进,缩进错 JSON 直接失效
- 每行字符串必须用双引号包裹,内部引号要转义:
"const hash = crypto.createHash('sha256');" - 占位符只认
$1、$2,写${1}或$0不生效(那是 Emmet 语法) -
prefix别用hash这种通用词,建议加前缀如chash,避免和已有片段冲突
fs.readFileSync 容易爆内存,而忘了监听 error 事件会导致脚本静默失败。

















