You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

tree-sitter-typescript在JavaScript中报“Invalid language object”错误求助

解决tree-sitter-typescript抛出"Invalid language object"错误的方案

以下是针对这个问题的几种可行解决方法:

  • 检查版本兼容性
    tree-sitter与tree-sitter-typescript的版本不匹配是常见原因。运行以下命令查看当前版本:

    npm list tree-sitter tree-sitter-typescript
    

    确保tree-sitter的主版本(如v0.20.x)与tree-sitter-typescript的版本适配,建议安装两者的最新稳定版。

  • 修正导入语句
    tree-sitter-typescript的导出结构可能与其他语言包不同,尝试调整导入方式:

    const Parser = require('tree-sitter');
    const { typescript } = require('tree-sitter-typescript');
    
    const parser = new Parser();
    parser.setLanguage(typescript);
    

    若使用ES模块语法,改为:

    import Parser from 'tree-sitter';
    import { typescript } from 'tree-sitter-typescript';
    
    const parser = new Parser();
    parser.setLanguage(typescript);
    
  • 手动加载语言文件
    如果自动导入失败,可直接加载编译后的语言二进制文件:

    const path = require('path');
    const Parser = require('tree-sitter');
    
    const parser = new Parser();
    // 加载tree-sitter-typescript编译后的.node文件
    const typescriptLang = Parser.loadLanguage(
      path.join(__dirname, 'node_modules/tree-sitter-typescript/build/Release/typescript.node')
    );
    parser.setLanguage(typescriptLang);
    
  • 重新安装依赖
    若安装过程中出现编译异常,执行以下步骤重置依赖:

    1. 删除node_modules目录和package-lock.json文件
    2. 运行npm install重新安装所有依赖
    3. 确认tree-sitter-typescript在安装过程中完成了编译(终端会显示编译相关日志)

内容的提问来源于stack exchange,提问作者Precious112

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 10:33:12