Skip to content
Impath's Isle
Go back

Windows 下 Gram 编辑器踩坑记录

Table of contents

Open Table of contents

前言

Stop coding in your browser.

闲暇之余,随手折腾一下。

Gram

官网:Gram

Source:codeberg.org/GramEditor/gram

操作环境

安装 Extension

Astro : zed-extensions/astro

Typst : zed-extensions/typst

坑 1 、Rust 环境缺少 wasm32-wasip2 编译目标

在我安装时国内镜像源不含该组件包,遂报错,故临时切回官方源。

在 Windows 系统环境变量中删除 RUSTUP_DIST_SERVER

重新打开 Powershell 运行:

rustup target add wasm32-wasip2

检查:

rustup target list --installed

确认输出里有 wasm32-wasip2

提示:如果在删除相关环境变量与 settings.toml 中下载源配置后仍然报错,且错误信息中含有已经删除的下载源,请运行 rustup update 并再次尝试使用上面的命令安装。

坑 2 、wasi-sdk 下载问题

解决 坑 1 后继续尝试安装 Extension,完成仓库克隆后一直处于 Installing extension 转圈状态,等待许久,未能解决,查询日志:

grammar 编译阶段时,Gram 需要下载 wasi-sdk:

11:45:14 INFO  compiling grammar astro for extension ...
11:45:14 INFO  downloading wasi-sdk to C:\Users\User\AppData\Local\Gram\extensions\build\wasi-sdk

随后超时失败(Github 连接不稳定;即使稳定,下载 496 MB 的文件也需要一定时间):

11:45:14 ERROR failed to compile grammar 'astro'
Caused by:
    0: error sending request for url (...wasi-sdk-25.0-x86_64-windows.tar.gz...)
    1: client error (Connect)
    2: operation timed out

得知,Gram 需要 wasi-sdk 进行编译,故自行手动下载 wasi-sdk:

手动下载 wasi-sdk 25.0 Windows 版(即日志中下载失败的版本,也可以尝试使用最新稳定版,详见 Releases ):WebAssembly/wasi-sdk/releases/tag/wasi-sdk-25

下载 wasi-sdk-25.0-x86_64-windows.tar.gz 文件,解压到 Gram 指定目录(如不存在,自行新建):

%APPDATA%\Local\Gram\extensions\build\wasi-sdk

解压后该目录下应该有 binlibshare 等文件夹。

重启 Gram ,再次尝试安装扩展。此时 Gram 检测到 wasi-sdk 已存在,便会跳过下载,直接进入编译。

顷刻,安装完成。

编辑文件

Language servers

编辑文件时,左下角 Language servers 报错:

Language server rust-analyzer:

Download disabled for this language server, check the configuration

查询资料,得知:

自 Gram 2.0.0 版本Release 2.0.0 ),出于安全(防止运行未经审核的代码)和稳定性考虑,语言服务器(LSP)的自动下载和更新功能默认被关闭了。因此,打开相关文件时,编辑器发现 language-server 未安装且自动下载被禁用,遂报错。

解决方案:左上角“≡” → Gram → Language servers 。

在打开的 Language servers 页面找到所需的 Language server ,打开 Allow Download(可选 Auto Update)。


Share this post on:

Previous Post
砚西记·旸
Next Post
砚西记·衡