问题描述
我正在尝试使用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 [email protected]: 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没有直接关系。 我还相应地更新了问题标题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)