微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复cb.apply不是函数,npx + preact-cli

如何解决如何修复cb.apply不是函数,npx + preact-cli

我正在尝试使用preact-cli创建一个新项目:

npx preact-cli create typescript temp

它失败并显示错误消息:

npm ERR! cb.apply is not a function

我正在使用以下版本:

  • 节点v15.0.1
  • npm 7.0.3
  • npx 10.2.2

在撰写本文时,npm上发布的preact-cli的最新版本为3.0.3。

我尝试解决的问题:

错误消息指向一个日志文件错误非常明显:

...
7 http fetch GET 304 https://registry.npmjs.org/preact-cli 147ms (from cache)
8 silly pacote tag manifest for preact-cli@latest fetched in 167ms
9 verbose stack TypeError: cb.apply is not a function
9 verbose stack     at /home/lhk/.npm-global/lib/node_modules/npx/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
9 verbose stack     at FSReqCallback.oncomplete (node:fs:184:5)

显然这是graceful-fs/polyfills.js中的错误。好的,所以我看了一下,它在一个名为statFix函数中。显然可以解决与“旧版本的Node”不兼容的问题。搜寻statFix让我进入this site。他们说只是注释掉statFix函数用法。我尝试过,但错误仍然存​​在。

所以我想我应该去npm install -g preact-cli,看看效果更好。警告和不赞成使用的消息很长。警告之一是:

npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and Could be using insecure binaries. Upgrade to fsevents 2.

对我来说,这似乎是犯罪者。它甚至明确表示它将在节点v14 +上中断(我在v15上)。

是否可以在节点版本大于v14的情况下使用preact-cli

更新: 我经历了卸载节点v15而安装v14 LTS的痛苦。 问题保持不变。它似乎与v15没有直接关系。 我还相应地更新了问题标题

解决方法

Preact 接受 Node v12 作为最新版本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。