如何解决Visual Studio Code 找不到模块“typegram/callback”
我正在使用 telegraf
包开发电报机器人。 (版本 4.1.1)
一切正常,直到我开始使用来自 Telegraf 包的更多模块,例如 Extra
和 mark-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');
有什么建议吗?
解决方法
通过将软件包降级到 4.1.0 版本解决。
,Telegraf 1.4.x 需要 Node 12.x.x ++
升级到最新的 Node LTS (14) - 你应该没问题。
,好吧......如果有人遇到这个错误,我就是这样解决它的。
在通过哭泣、睡觉和观看愚蠢的 YouTube 视频(向 Sseth 大喊大叫)来避免这个问题之后。
我重新安装了我能做的一切,没有任何帮助。 检查 npm 版本并注意到我的代码显示为已安装的包,我认为“死”并删除了它。出于某种原因修复了它。如果有人知道这种行为背后的原因,我很想知道。
你们都很棒,祝你们好运。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。