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

如何运行Airgram?配置type:module后仍遇模块未找到错误

解决Airgram模块找不到的问题

我正尝试运行Airgram项目,已在package.json中添加了{"type": "module"}配置,代码如下:

import { Airgram, Auth, prompt, toObject } from 'airgram'

const airgram = new Airgram({
  apiId: process.env.APP_ID,
  apiHash: process.env.APP_HASH
})


airgram.use(new Auth({
  code: () => prompt(`Please enter the secret code:\n`),
  phoneNumber: () => prompt(`Please enter your phone number:\n`)
}))

void (async () => {
  const me = toObject(await airgram.api.getMe())
  console.log(`[me]`, me)
})()

// Getting all updates
airgram.use((ctx, next) => {
  if ('update' in ctx) {
    console.log(`[all updates][${ctx._}]`, JSON.stringify(ctx.update))
  }
  return next()
})

// Getting new messages
airgram.on('updateNewMessage', async ({ update }, next) => {
  const { message } = update
  console.log('[new message]', message)
  return next()
})

(注:代码中异步自执行函数缺少调用括号,已补充(),避免无法执行)

运行node face.js时出现以下错误:

root@faka:~/airgram# node face.js 
internal/process/esm_loader.js:74
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'airgram' imported from /root/airgram/face.js
    at packageResolve (internal/modules/esm/resolve.js:664:9)
    at moduleResolve (internal/modules/esm/resolve.js:705:18)
    at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:798:11)
    at Loader.resolve (internal/modules/esm/loader.js:100:40)
    at Loader.getModuleJob (internal/modules/esm/loader.js:246:28)
    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:47:40)
    at link (internal/modules/esm/module_job.js:46:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

解决步骤

  • 确认Airgram已正确本地安装
    在项目根目录/root/airgram/下执行安装命令,确保模块安装到当前项目的node_modules中:

    npm install airgram
    # 若使用yarn则执行:
    yarn add airgram
    

    不要仅使用全局安装(npm install -g airgram),ESM模块无法直接识别全局安装的包。

  • 检查package.json依赖项
    打开项目根目录的package.json,确认dependencies字段中存在airgram条目,示例:

    "dependencies": {
      "airgram": "^5.0.0"
    }
    

    若缺失,重新执行安装命令,或手动添加后执行npm install同步依赖。

  • 清理缓存并重新安装
    若存在安装缓存或依赖损坏,执行以下命令重置:

    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    
  • 验证Node.js版本
    Airgram要求Node.js版本不低于v12,建议使用v14及以上版本,执行node -v查看当前版本,版本过低会导致模块解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:40:27