那些年我遇到的各种各样的小BUG

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43870742/article/details/101040606

就有这么个想法,然后就打算实践一下,本文你实时更新,牵扯到的知识也是方方面面,许多东西可能确实很简单就能解决,但是有些东西可能摸索来摸索去既耽误时间,又耽误精力。

目录

IDEA等JBIDE "backspace"等失效的问题

Node.js使用sequelize连接MySQL8.0时失败的问题

Docker更换MySQL版本不能使用同一volume的问题

Win10家庭版Docker忽然不能运行的BUG


IDEA等JBIDE "backspace"等失效的问题

今天使用webstorm忽然遇到了这个问题,esc,backspace,del等按键都没有效果了,只是在IDE中,开始还以为是IDE更新出现的BUG,后来发现不止webstorm,pycharm也存在这个问题。

于是我又试了一下"ctrl+x"等快捷键,发现也是无法使用,于是我感觉是键盘映射文件出现了问题:

果然,可能是升级完成后原来的键盘映射文件没有转过来,这里的快捷键全部被清空了,简单的你可以自己再配置一套,或者选择别的配置就能解决。 

我之前选择的VSC,后来选择了Windows默认配置,感觉差不多。

Node.js使用sequelize连接MySQL8.0时失败的问题

代码demo如下:

const Sequelize = require('sequelize');

const sequelize = new Sequelize('database_name', 'root', 'passwd', {
  host: '127.0.0.1',
  dialect: 'mysql',
});

sequelize
  .authenticate()
  .then(() => {
    console.log('Connection has been established successfully.');
    process.exit();
  })
  .catch(err => {
    console.error('Unable to connect to the database:', err);
  });

一直报错,首先是要提示你升级MySQL客户端,经过网上查询之后发现sequelize似乎还不支持MySQL8.0,因此果断改成了5.7的版本,一切正常。

人在波兰,连接阿里云的服务器也会出现超时的问题,安全组配置均无误,不知道是不是因为人在异地的缘故,只能在本地开发了。

Docker更换MySQL版本不能使用同一volume的问题

之前也提到了,由于我们降低MySQL的版本,才能使用sequelize,因此我们只能使用5.7版本的MySQL。

但是当我们在此运行时:

docker container run --name mysql -v mysqldata:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

却发现容器不能被运行。

随后我们发现mysqldata这个volume我们忘记删除了,于是我们重新创建了volume,这时容器可以正常使用。

Win10家庭版Docker忽然不能运行的BUG

我们知道Docker在WIN中,是一定要运行在Win10的专业版才可以的,当然我们也可以开启家庭版的HyperV方法,之前也讲过,这里再贴一遍,保存为.cmd管理员运行即可:

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

然后还要修改注册表,让我们的WIN版本被docker识别为专业版本,也可以通过写cmd文件达到目的:

REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F

同样保存为.cmd管理员运行。

然而之前docker更新版本,因为人在波兰,怕出啥问题,就没有更新,一直用的好好的,直到今天忽然爆出了版本不对的问题。

我于是去查注册表,发现还是写的专业版呀,既然注册表没事,那会不会docker识别版本的方式变了呢?

试了很多种方式,最后忽然想起来没有更新的问题,最后硬着头皮更新了一下docker版本,居然神奇的好了。。。

以后大家尽量保持docker最新版吧!

 

猜你喜欢

转载自blog.csdn.net/weixin_43870742/article/details/101040606