wechaty / puppet-wechat

Wechaty Puppet Provider for WeChat
https://www.npmjs.com/package/wechaty-puppet-wechat
Apache License 2.0
408 stars 68 forks source link

依赖brolog导致puppet在nodejs 16下无法工作 #166

Open eslizn opened 2 years ago

eslizn commented 2 years ago

import { getLoggable } from 'brolog'; ^^^^^^^^^^^ SyntaxError: Named export 'getLoggable' not found. The requested module 'brolog' is a CommonJS module, which may not support all module.exports as named exports. CommonJS modules can always be imported via the default export, for example using:

import pkg from 'brolog'; const { getLoggable } = pkg;

at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:181:5)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:281:24)
at async loadESM (node:internal/process/esm_loader:88:5)
at async handleMainPromise (node:internal/modules/run_main:65:12)
huan commented 2 years ago

Please try the latest version of https://github.com/wechaty/getting-started and it should be ok.

If you still experiencing this problem, please provide reproducible steps.

eslizn commented 2 years ago

已经是最新版本

eslizn@cabrio getting-started$ git log
commit 3db2365d6e6763e03388c9d0d9249b92cfabe758 (HEAD -> main, origin/main, origin/HEAD)
Author: Huan (<E6><9D><8E><E5><8D><93><E6><A1><93>) <zixia@zixia.net>
Date:   Sat Oct 30 19:25:42 2021 +0800

    1.0.1
eslizn@cabrio getting-started$ yarn --force
yarn install v1.22.17
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
warning wechaty-puppet@1.2.8: The engine "wechaty" appears to be invalid.
warning wechaty-puppet-service@1.0.9: The engine "wechaty" appears to be invalid.
warning wechaty-token@0.5.8: The engine "wechaty" appears to be invalid.
warning wechaty-plugin-contrib@1.0.16: The engine "wechaty" appears to be invalid.
warning wechaty-puppet-oicq@1.0.0: The engine "wechaty" appears to be invalid.
warning wechaty-puppet-wechat@1.0.1: The engine "wechaty" appears to be invalid.
warning wechaty-puppet-wechat4u@1.0.1: The engine "wechaty" appears to be invalid.
warning wechaty-puppet-whatsapp@1.0.1: The engine "wechaty" appears to be invalid.
warning wechaty-puppet-mock@1.0.3: The engine "wechaty" appears to be invalid.
[4/5] 🔗  Linking dependencies...
warning "wechaty > state-switch@1.2.1" has unmet peer dependency "brolog@^1.13.6".
warning "wechaty > state-switch@1.2.1" has unmet peer dependency "rxjs@^7.4.0".
warning " > wechaty-puppet-oicq@1.0.0" has unmet peer dependency "wechaty-puppet@^1.0.1".
warning " > wechaty-puppet-wechat@1.0.1" has unmet peer dependency "wechaty-puppet@^1.0.1".
warning "wechaty-puppet-wechat > rx-queue@0.12.6" has unmet peer dependency "brolog@>=1".
warning " > wechaty-puppet-wechat4u@1.0.1" has unmet peer dependency "wechaty-puppet@^1.0.1".
warning " > wechaty-puppet-whatsapp@1.0.1" has unmet peer dependency "wechaty-puppet@^1.0.1".
warning "@chatie/eslint-config > @typescript-eslint/eslint-plugin > tsutils@3.21.0" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
warning " > wechaty-puppet-mock@1.0.3" has unmet peer dependency "wechaty-puppet@^1.0.1".
[5/5] 🔨  Rebuilding all packages...
success Saved lockfile.
✨  Done in 7.95s.
eslizn@cabrio getting-started$ npm run start:js

> wechaty-getting-started@1.0.1 start:js
> node examples/ding-dong-bot.js

file:///Users/eslizn/go/src/github.com/wechaty/getting-started/node_modules/state-switch/dist/esm/src/state-switch.js:12
import { getLoggable } from 'brolog';
         ^^^^^^^^^^^
SyntaxError: Named export 'getLoggable' not found. The requested module 'brolog' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from 'brolog';
const { getLoggable } = pkg;

    at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:181:5)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:281:24)
    at async loadESM (node:internal/process/esm_loader:88:5)
    at async handleMainPromise (node:internal/modules/run_main:65:12)

Node.js v17.0.1
huan commented 2 years ago

Yes, that's the latest version.

Have you tried to reinstall all the NPM modules so that the dependencies is the latest too?

rm -fr node_modules package-lock.json
npm install

I have just tried and it works without any problem:

$ git log
commit 3db2365d6e6763e03388c9d0d9249b92cfabe758 (HEAD -> main, tag: v1.0.1, origin/main)
Author: Huan (李卓桓) <zixia@zixia.net>
Date:   Sat Oct 30 19:25:42 2021 +0800

    1.0.1

commit 83b11cb7e96c26525a66525459f6b5cf6c6c06a3
Author: Huan (李卓桓) <zixia@zixia.net>
Date:   Sat Oct 30 19:25:33 2021 +0800

    v1.0 wechaty

commit 74b0ac86b08ca1171753da6e10b526ebb68e1a37 (tag: v0.14.4)
Author: Huan (李卓桓) <zixia@zixia.net>
Date:   Mon Oct 18 12:31:42 2021 +0800

    0.14.4

commit 93c84c9027f5d33bdee21a96c91022adce7349fe
Author: Huan (李卓桓) <zixia@zixia.net>
Date:   Mon Oct 18 12:31:32 2021 +0800

$ rm -fr node_modules/ 
npm i
$ npm i
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/pinpoint@1.0.2: Moved to 'npm install @sideway/pinpoint'
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated @hapi/formula@1.2.0: Moved to 'npm install @sideway/formula'
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated axios@0.15.3: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated @hapi/joi@16.1.8: Switch to 'npm install joi'

added 1106 packages, and audited 1277 packages in 2m

108 packages are looking for funding
  run `npm fund` for details

30 vulnerabilities (27 moderate, 3 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
$ npm run start:wechat:web

> wechaty-getting-started@1.0.1 start:wechat:web
> cross-env WECHATY_LOG=verbose WECHATY_PUPPET=wechaty-puppet-wechat npm start

> wechaty-getting-started@1.0.1 start
> cross-env NODE_OPTIONS="--no-warnings --loader=ts-node/esm" node examples/ding-dong-bot.ts

21:14:32 INFO Config registering process.on("unhandledRejection") for development/debug
21:14:32 VERB Config constructor()
21:14:32 VERB user/mixins/poolify poolifyMixin(EventEmitter)
21:14:32 VERB user/mixins/wechatify wechatifyMixin(PoolifiedMixin)
21:14:32 VERB user/mixins/validation validationMixin(ContactMixin)
21:14:32 VERB user/mixins/poolify poolifyMixin(ContactImpl)
21:14:32 VERB user/mixins/validation validationMixin(ContactSelfMixin)
21:14:32 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:32 VERB user/mixins/validation validationMixin(FavoriteMixin)
21:14:32 VERB user/mixins/wechatify wechatifyMixin(EventEmitter)
21:14:32 VERB user/mixins/validation validationMixin(FriendshipMixin)
21:14:32 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:32 VERB user/mixins/validation validationMixin(ImageMixin)
21:14:32 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:32 VERB user/mixins/validation validationMixin(LocationMixin)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:33 VERB user/mixins/validation validationMixin(UrlLinkMixin)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:33 VERB user/mixins/validation validationMixin(MiniProgramMixin)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(EventEmitter)
21:14:33 VERB user/mixins/validation validationMixin(MessageMixin)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:33 VERB user/mixins/validation validationMixin(MomentMixin)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:33 VERB user/mixins/validation validationMixin(MoneyMixin)
21:14:33 VERB user/mixins/poolify poolifyMixin(EventEmitter)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(PoolifiedMixin)
21:14:33 VERB user/mixins/validation validationMixin(RoomMixin)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:33 VERB user/mixins/validation validationMixin(RoomInvitationMixin)
21:14:33 VERB user/mixins/poolify poolifyMixin(EmptyBase)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(PoolifiedMixin)
21:14:33 VERB user/mixins/validation validationMixin(TagMixin)
21:14:33 VERB user/mixins/wechatify wechatifyMixin(EmptyBase)
21:14:33 VERB user/mixins/validation validationMixin(DelayMixin)
21:14:33 VERB wechaty-puppet-service monkeyPatchMetadataFromHttp2Headers()
21:14:33 VERB WechatyBuilder constructor()
21:14:33 VERB WechatyBuilder singleton()
21:14:33 VERB WechatyBuilder newInstance()
21:14:33 VERB ServiceCtl<Wechaty> constructor()
21:14:33 VERB StateSwitch constructor(Wechaty, "{"log":{"enableTimestamp":true,"logLevel":4,"prefixFilter":{}}}")
21:14:33 VERB StateSwitch constructor(WechatyReset, "{"log":{"enableTimestamp":true,"logLevel":4,"prefixFilter":{}}}")
21:14:33 VERB Wechaty constructor()
21:14:33 VERB StateSwitch constructor(Wechaty, "{"log":{"enableTimestamp":true,"logLevel":4,"prefixFilter":{}}}")
21:14:33 VERB StateSwitch constructor(WechatyReady, "{"log":{"enableTimestamp":true,"logLevel":4,"prefixFilter":{}}}")
21:14:33 VERB Wechaty on(scan, listener) registering... listenerCount: 0
21:14:33 VERB Wechaty on(login, listener) registering... listenerCount: 0
21:14:33 VERB Wechaty on(logout, listener) registering... listenerCount: 0
21:14:33 VERB Wechaty on(message, listener) registering... listenerCount: 0
21:14:33 VERB ServiceCtl<Wechaty> start()
21:14:33 VERB StateSwitch <Wechaty> active(pending) <- (false)
21:14:33 VERB ServiceCtl<Wechaty> start() this.onStart() ...
21:14:33 VERB Wechaty <wechaty-puppet-wechat>(ding-dong-bot) onStart() v1.0.6 is starting...
21:14:33 VERB Wechaty id: 049814e1-89a8-4d08-bd88-fa1fc0024533
21:14:33 VERB StateSwitch <WechatyReady> inactive(true) <- (true)
21:14:33 VERB Wechaty init() Raven disabled (import("raven") failed)
21:14:33 VERB Wechaty initPuppet() 
21:14:33 VERB PuppetManager resolve({puppet: wechaty-puppet-wechat, puppetOptions: undefined})
21:14:33 VERB PuppetManager resolveName(wechaty-puppet-wechat)
21:14:33 VERB PuppetManager resolveName(wechaty-puppet-wechat): ESM resolved
21:14:33 VERB PuppetSkelton constructor({})
21:14:33 VERB PuppetMemoryMixin constructor()
21:14:33 VERB PuppetCacheMixin constructor()
21:14:33 VERB CacheAgent constructor()
21:14:33 VERB PuppetLoginMixin constructor()
21:14:33 VERB PuppetContactMixin constructor()
21:14:33 VERB PuppetRoomMemberMixin constructor()
21:14:33 VERB PuppetRoomMixin constructor()
21:14:33 VERB PuppetFriendshipMixin constructor()
21:14:33 VERB PuppetTagMixin constructor()
21:14:33 VERB PuppetRoomInvitationMixin constructor()
21:14:33 VERB PuppetMessageMixin constructor()
21:14:33 VERB PuppetMiscMixin constructor()
21:14:33 VERB ServiceCtl<PuppetServiceMixin> constructor()
21:14:33 VERB StateSwitch constructor(PuppetServiceMixin, "{"log":{"enableTimestamp":true,"logLevel":4,"prefixFilter":{}}}")
21:14:33 VERB StateSwitch constructor(PuppetServiceMixinReset, "{"log":{"enableTimestamp":true,"logLevel":4,"prefixFilter":{}}}")
21:14:33 VERB PuppetServiceMixin constructor() #0
21:14:33 VERB WatchdogAgent constructor(47b7f95b-85d0-4093-b790-0b751328f25d)
21:14:33 VERB WatchdogAgent constructor() watchdog timeout set to 60 seconds
21:14:33 VERB Puppet constructor({})
21:14:33 VERB PuppetWeChatBridge constructor()
21:14:33 VERB StateSwitch constructor(PuppetWeChatBridge, "{"log":{"enableTimestamp":true,"logLevel":4,"prefixFilter":{}}}")
21:14:33 VERB PuppetWeChat initWatchdogForScan()
21:14:33 VERB PuppetMemoryMixin setMemory(ding-dong-bot)
21:14:33 VERB Wechaty initPuppetEventBridge(Puppet#0<PuppetWeChat>(ding-dong-bot))
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(friendship) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(login) (listenerCount:1) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(logout) (listenerCount:1) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(message) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(room-invite) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(room-join) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(room-leave) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(room-topic) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(scan) (listenerCount:1) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(dirty) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(dong) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(error) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(heartbeat) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(ready) (listenerCount:0) registering...
21:14:33 VERB Wechaty initPuppetEventBridge() puppet.on(reset) (listenerCount:0) registering...
21:14:33 VERB Wechaty wechatifyUserModules()
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(ContactImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(ContactImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(ContactSelfImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(ContactSelfImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(FriendshipImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(FriendshipImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(ImageImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(ImageImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(MessageImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(MessageImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(MiniProgramImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(MiniProgramImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(RoomImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(RoomImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(RoomInvitationImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(RoomInvitationImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(DelayImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(DelayImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(TagImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(TagImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(UrlLinkImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(UrlLinkImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(LocationImpl)
21:14:33 VERB user/mixins/wechatify wechatifyUserClass(LocationImpl)(Wechaty#049814e1-89a8-4d08-bd88-fa1fc0024533<>(ding-dong-bot))
21:14:33 VERB PuppetServiceMixin start()
21:14:33 VERB ServiceCtl<PuppetServiceMixin> start()
21:14:33 VERB StateSwitch <PuppetServiceMixin> active(pending) <- (false)
21:14:33 VERB ServiceCtl<PuppetServiceMixin> start() super.start() ...
21:14:33 VERB PuppetLoginMixin start()
21:14:33 VERB PuppetCacheMixin start()
21:14:33 VERB PuppetMemoryMixin start()
21:14:33 VERB PuppetSkelton start()
21:14:33 VERB CacheAgent start()
21:14:33 VERB CacheAgent clear()
21:14:33 VERB ServiceCtl<PuppetServiceMixin> start() super.start() ... done
21:14:33 VERB ServiceCtl<PuppetServiceMixin> start() this.onStart() ...
21:14:33 VERB PuppetWeChat onStart() with ding-dong-bot
21:14:33 VERB PuppetWeChat initBridge()
21:14:33 VERB PuppetWeChatBridge start()
21:14:33 VERB StateSwitch <PuppetWeChatBridge> active(pending) <- (false)
21:14:33 VERB PuppetWeChatBridge initBrowser()
21:14:33 VERB PuppetWeChatBridge initBrowser() with options={"args":["--audio-output-channels=0","--disable-default-apps","--disable-translate","--disable-gpu","--disable-setuid-sandbox","--disable-sync","--hide-scrollbars","--mute-audio","--no-sandbox"],"headless":true}
21:14:33 VERB PuppetWeChatBridge initBrowser() version: HeadlessChrome/93.0.4577.0
21:14:33 VERB PuppetWeChatBridge start() initBrowser() done
21:14:33 VERB PuppetWeChatBridge initPage()
21:14:33 VERB PuppetWeChatBridge cookieDomain([object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object])
21:14:33 VERB PuppetWeChatBridge initPage() before page.goto(url)
21:14:35 VERB PuppetWeChatBridge initPage() after page.goto(url)
21:14:36 VERB PuppetWeChatBridge onLoad() page.url=https://wx.qq.com/?target=t
21:14:36 VERB PuppetWeChatBridge readyAngular()
21:14:36 VERB PuppetWeChatBridge inject()
21:14:36 VERB PuppetWeChatBridge ding(ding() OK!)
21:14:36 VERB PuppetWeChatBridge clickSwitchAccount()
21:14:36 VERB StateSwitch <PuppetWeChatBridge> active(true) <- (pending)
21:14:36 VERB PuppetWeChatBridge start() initPage() done
21:14:36 VERB PuppetWeChat onStart() initBridge() done
21:14:36 VERB ServiceCtl<PuppetServiceMixin> start() this.onStart() ... done
21:14:36 VERB StateSwitch <PuppetServiceMixin> active(true) <- (pending)
21:14:36 VERB ServiceCtl<PuppetServiceMixin> start() ... done
21:14:36 VERB Wechaty on(heartbeat, listener) registering... listenerCount: 0
21:14:36 VERB ServiceCtl<Wechaty> start() this.onStart() ... done
21:14:36 VERB StateSwitch <Wechaty> active(true) <- (pending)
21:14:36 VERB ServiceCtl<Wechaty> start() ... done
21:14:36 INFO StarterBot Starter Bot Started.
21:14:37 VERB PuppetWeChatEvent onScan({code: 0, url: https://login.weixin.qq.com/qrcode/YY3q2akdhQ==})
21:14:37 VERB PuppetWeChat onStart() throttleQueue.subscribe() new item: [object Object]
21:14:37 INFO StarterBot onScan: Waiting(2) - https://wechaty.js.org/qrcode/https%3A%2F%2Flogin.weixin.qq.com%2Fl%2FYY3q2akdhQ%3D%3D
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█ ▄▄▄▄▄ █▄▀ ▀  ▀█ ▀█▄▄█ ▄▄▄▄▄ █
█ █   █ █   █▀  ▀▄▀ ▄▀█ █   █ █
█ █▄▄▄█ █▄█▀ ▄▀ ▄ ▀▀ ██ █▄▄▄█ █
█▄▄▄▄▄▄▄█▄█ █ █ ▀▄▀▄▀▄█▄▄▄▄▄▄▄█
█▄▄▄▄█▀▄▀ █ ▄ ▀▄██▄ ▀█ ▀▀ ▄▄█ █
██▄█ ▄ ▄    ▄▄▀▄█ █▀█ ▄▄█▀█▄▄▀█
█▀▄▀▀█▀▄   ▄▀ █▄  ▄█ █▄▀██▄ ▀▀█
█ █ █ █▄█  █ █▄▀██▄▄▄▄ ▀  █▄ ▄█
█▄ ▀ ▀▄▄ ▄█ █▄▄ ▀ ▀▄▄  █ ▄ ▀ ██
█▄█▄█ ▀▄▀ ▀ ▀██▄▄▄▀▀█▀▀▀▄▀█ ███
██▄█▄▄▄▄█ ▀▄██▀▀ ▀ ▀▀ ▄▄▄   ▀▀█
█ ▄▄▄▄▄ ███▄▀▀▀▀█ █ ▄ █▄█  █▄██
█ █   █ █▀█▄ █▀▀█ ▄█▀  ▄  ▀▄▄ █
█ █▄▄▄█ █ █ █ ▀▄█▀█ ▄ ██▄▀▀▄▀▄█
█▄▄▄▄▄▄▄█▄█▄▄███▄███▄▄▄██▄██▄██

^C
$
eslizn commented 2 years ago

经测试npm安装的正常,而通过yarn安装的会报这个错误

huan commented 2 years ago

Wechaty community is always using npm, please use NPM version v7 or above.

Thank you very much for your information!