Visual Studio 代码找不到模块 'typegram/callback'

Visual Studio Code cannot find module 'typegram/callback'

我正在使用 telegraf 包开发电报机器人。 (版本 4.1.1)

一切正常,直到我开始使用 telegraf 包中的更多模块,如 Extramark-up

我开始收到此错误:

internal/modules/cjs/loader.js:800
    throw err;
    ^
Error: Cannot find module 'typegram/callback'
Require stack:
- C:\gitprojects\bot\node_modules\telegraf\lib\telegram-types.js
- C:\gitprojects\bot\node_modules\telegraf\lib\context.js
- C:\gitprojects\bot\node_modules\telegraf\lib\composer.js
- C:\gitprojects\bot\node_modules\telegraf\lib\telegraf.js
- C:\gitprojects\bot\node_modules\telegraf\lib\index.js
- C:\gitprojects\bot\index.js
←[90m    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:690:27)←[39m
←[90m    at Module.require (internal/modules/cjs/loader.js:852:19)←[39m
←[90m    at require (internal/modules/cjs/helpers.js:74:18)←[39m
    at Object.<anonymous> (C:\gitprojects\bot\node_modules\←[4mtelegraf←[24m\lib\telegram-types.js:16:14)
←[90m    at Module._compile (internal/modules/cjs/loader.js:959:30)←[39m
←[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)←[39m
←[90m    at Module.load (internal/modules/cjs/loader.js:815:32)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:727:14)←[39m
←[90m    at Module.require (internal/modules/cjs/loader.js:852:19)←[39m {
  code: ←[32m'MODULE_NOT_FOUND'←[39m,
  requireStack: [
    ←[32m'C:\gitprojects\bot\node_modules\telegraf\lib\telegram-types.js'←[39m,
    ←[32m'C:\gitprojects\bot\node_modules\telegraf\lib\context.js'←[39m,
    ←[32m'C:\gitprojects\bot\node_modules\telegraf\lib\composer.js'←[39m,
    ←[32m'C:\gitprojects\bot\node_modules\telegraf\lib\telegraf.js'←[39m,
    ←[32m'C:\gitprojects\bot\node_modules\telegraf\lib\index.js'←[39m,
    ←[32m'C:\gitprojects\bot\index.js'←[39m
  ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bot@1.0.0 start: `node index.js`
npm ERR! Exit status 1

'typegram/callback' 已安装,但它是一个打字稿文件,我没有安装打字稿,但我在错误之前没有问题。

我恢复到我最新的工作版本,但错误没有改变..

目前只有一行代码:

const { Telegraf } = require('telegraf');

有什么建议吗?

好吧...如果有人遇到此错误,我就是这样解决的。

通过哭泣、睡觉和观看愚蠢的 youtube 视频来避免这个问题(向 Sseth 大喊大叫)。

我已经尽我所能重新安装了所有东西,但没有任何帮助。 检查 npm 版本并注意到我的代码显示为已安装的包,我认为“死”并删除了它。由于某种原因修复了它。如果有人知道这种行为背后的原因,我很想知道。

你们都很棒,祝你好运。

通过将软件包降级到 4.1.0 版本解决。

Telegraf 1.4.x 需要节点 12.x.x ++

升级到最新的 Node LTS (14) - 你应该没问题。