Skip to content
On this page

问题汇总(持续更新)


学习过程中问题汇总

数据库相关

问题 1

ER_NOT_SUPPORTED_AUTH_MODE 错误解决。

最新的 mysql 模块并未完全支持 MySQL 8 的“caching_sha2_password” 加密方式,而“caching_sha2_password”在 MySQL 8 中是默认的加密方式。因此,下面的方式命令是默认已经使用了“caching_sha2_password”加密方式,该账号、密码无法在mysql模块中使用。

简单说就是目前 MySQL 8.0 以上的版本的加密方式,Node 还不支持。

解决方法:

bash
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

上述指令需启动 mysql 的情况下执行。

问题 2

上述提示多半是端口被占用了,建议修改 egg 启动的端口号,在 config/config.default.js 中,如下:

javascript
config.cluster = {
  listen: {
    path: '',
    port: 7009, // 项目启动的端口号
    hostname: '0.0.0.0'
  }
}

问题 3

服务器安装社群版 mysql 报错说没有任何匹配?

解决方案

安装前要先禁用 mysql,先跑一下后面这个指令 sudo yum module disable mysql

网站相关

问题 1

网站部署到服务器上之后,通过 IP 地址,无法访问到,咋整?

解决方案

前往服务器实例,安全组,将你所部署的端口加入安全组,具体操作可自行搜索。

问题 2

部署上线之后跨域该如何解决?

解决方案

服务端项目下,通过 egg-cors 插件解决,具体配置如下图:

问题 3

部署到线上环境后,遇到如下图的报错:

请将 Zarm 版本降为 2.8.2,因为高版本不兼容 React 的最新版本,这个问题官方没有很好的解决。

注意,降版本的时候,服务器内项目的 node_module 包清理一下,会有缓存。