逛掘金发现的一个项目,感觉很有趣,想部署试一下,然后遇到了一些问题,记录一下遇到的错误代码,以及解决方法。项目地址
1、首先要安装 v18 以上的 node 版本,我安装的是v18.20.4,可以安装 nvm,使用 nvm 进行 node 的代码版本管理,随时可以切换 node 版本。
nvm install 18 # 安装 node
nvm use 18 # 切换 node 版本
node -v # 确认版本为 v18.20.4
2、使用 yarn 安装依赖,如果依赖报错如下,说明node版本不对,请确认上一步骤。
- ;(o.scripts ||= {}).prepare = 'husky' SyntaxError: Unexpected token '='
完成后运行指令
yarn test
3、运行后报错:❌ 请先根据文档,创建并配置.env文件!
去根目录找到.env.example文件,复制一份保存为.env 文件,并在里面配置主要内容,我用的是讯飞,appID、appKey、appSecret 等在console.xfyun.cn/services/cb… 这里获取
4、上面的问题解决之后,运行 yarn test
又出问题了:TypeError: Cannot read properties of undefined (reading 'choices')
最后发现是需要配置讯飞的版本号,在上面那个链接里拿到接口地址,到目录 src/xunfei/xunfei.js 里找到httpUrl改为刚刚的地址(⚠️:ws(s)=https,只复制域名往后的)
以上问题解决之后,运行 yarn test 成功
5、开始运行项目 yarn dev(或 yarn start),出现二维码之后扫码登录,之后找到写了白名单的人发消息测试,发现没有生效,原来还需要用 docker 部署环境(看文档不仔细),去官网下载 docker 安装成功之后,docker -v 测试一下是否安装成功,再执行一下程序部署(⚠️:全程在wechat-bot 目录下)
$ docker build . -t wechat-bot
$ docker run -d --rm --name wechat-bot -v $(pwd)/.env:/app/.env wechat-bot
这样就可以啦,找到小伙伴找你问问题吧!