解决window拉取git仓库报错Unable to negotiate with **** port 22: no matching host key type found.

window电脑重装系统后发现2年前的托管到微信代码管理平台的项目突然不能使用ssh克隆到本地了
控制台提示

Unable to negotiate with 118.89.100.150 port 22: no matching host key type found. Their offer: ssh-rsa
fatal: Could not read from remote repository.

解决方案:
在生成公钥的文件夹里(一般在当前用户目录下的.ssh文件中)创建一个config文件(没有后缀),用文本文档格式打开,添加下方内容

Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

保存后,再次clone就成功了

windows下nodejs多版本切换,使用nvm方式

  1. 后验证是否成功 nvm v
  2. 进入nvm安装路径C:\Users\{你的用户名}\AppData\Roaming\nvm下打开settings文件
  3. 加入下列配置下载源镜像源
    1. node_mirror: https://npm.taobao.org/mirrors/node/
    2. npm_mirror: https://npm.taobao.org/mirrors/npm/
  4. 查看可用nodejs版本 nvm list available
  5. 也可以在这里查看https://registry.npmmirror.com/binary.html?path=node/
  6. 安装指定的版本 nvm install 12.17.0
  7. 查看已安装版本 nvm list
  8. 切换版本(需要管理员权限PowerShell)nvm use 12.17.0
  9. 删除指定的版本 nvm uninstall 16.14.0

github访问不了或者非常慢

之前使用的修改host的方式,体验下来还是不行。很多梯子也解决不了。

现在有很多平台提供免费github加速服务,比如UC浏览器和有道云笔记都有教育资源加速服务,也很不错,尤其是有道云笔记的教育资源加速,我正在用。
然后今天发现了个很nb的方式。就是使用steam++,不但能加速github还能加速steam的商店,但是也不稳定。

vscode使用vim模式卡顿

症状:vscode使用vim插件后很卡,尤其是中英文切换的时候

根因:Bracket Pairs Colorizer 2 等等 绘图效果插件 会重制图,导致卡

解决方法:禁用 Bracket Pairs Colorizer 2 , rainbow indent等插件

ESlint 使用备忘

安装到项目中

 npm install eslint --save-dev

生成一个配置文件

npx eslint --init

参考下列选项,注意第一条选择第3个To check syntax, find problems, and enforce code style,可以检查代码风格问题

✔ How would you like to use ESLint? · style
✔ What type of modules does your project use? · esm
✔ Which framework does your project use? · react
✔ Does your project use TypeScript? · No / Yes
✔ Where does your code run? · browser
✔ How would you like to define a style for your project? · guide
✔ Which style guide do you want to follow? · standard
✔ What format do you want your config file to be in? · JavaScript

vscode中开启保存时自动修复,

1 安装ESlint扩展
2 打开vscode的配置文件,添加下面的配置
  // #每次保存的时候将代码按eslint格式进行修复
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },

常用规则

'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', // allow console during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', // allow debugger during development
// 以下为该项目自定义部分
// indent: [2, 4], // 缩进风格 - 开启缩进4格
'no-spaced-func': 2, // 函数调用时 函数名与()之间不能有空格 - 开启
'no-const-assign': 2, // 禁止修改const声明的变量 - 开启
'space-before-function-paren': [0, 'always'], // 函数定义时括号前面要有空格 - 关闭
'eol-last': 0, // 文件以单一的换行符结束 - 关闭
camelcase: 0, // 强制驼峰法命名 - 关闭
'no-undef': 0, // 不能有未定义的变量 - 关闭
'no-alert': 0, // 禁止使用alert confirm prompt - 关闭
'arrow-parens': 0 // 箭头函数用小括号括起来 - 关闭

M1芯片Mac nginx使用

默认端口

8080

默认的配置文件地址

/opt/homebrew/etc/nginx/nginx.conf

默认的WEB根目录

/opt/homebrew/var/www

如果要指定你启动的NGINX.CONF文件

nginx -c /路径

停止NGINX

nginx -s stop

重启NGINX

nginx -s reload

M1新片Mac安装 HomeBrew

由于github国内访问非常的不稳定,现在使用HomeBrew官方的安装脚本很难顺利安装完成了,比较好的方式就是使用镜像安装,网上查了一圈,发现已经有人做好了现成的脚本,2021年7月7日亲测可用,具体步骤如下:

1. 执行安装脚本

/bin/zsh -c "$(curl -fsSL https://gitee.com/huwei1024/HomebrewCN/raw/master/Homebrew.sh)"

参考结果

        开始执行Brew自动安装程序
             [cunkai.wang@foxmail.com]
           [2021-07-07 13:48:08][11.2]
       https://zhuanlan.zhihu.com/p/111014448


请选择一个下载镜像,例如中科大,输入1回车。
源有时候不稳定,如果git克隆报错重新运行脚本选择源。cask非必须,有部分人需要。
1、中科大下载源 2、清华大学下载源 3、北京外国语大学下载源 4、腾讯下载源(不显示下载进度) 5、阿里巴巴下载源(缺少cask源)
请输入序号: 1

  你选择了中国科学技术大学下载源

!!!此脚本将要删除之前的brew(包括它下载的软件),请自行备份。
->是否现在开始执行脚本(N/Y)y

--> 脚本开始执行
==> 通过命令删除之前的brew、创建一个新的Homebrew文件夹
(设置开机密码:在左上角苹果图标->系统偏好设置->"用户与群组"->更改密码)
(如果提示This incident will be reported. 在"用户与群组"中查看是否管理员)
请输入开机密码,输入过程不显示,输入完后回车
Password:
开始执行
-> 创建文件夹 /opt/homebrew/Homebrew
此步骤成功
   ---备份要删除的文件夹到系统桌面....
   ---/Users/liuxiaofan/Library/Caches/Homebrew/ 备份完成
   ---备份要删除的文件夹到系统桌面....
   ---/opt/homebrew/Caskroom 备份完成
-> 创建文件夹 /opt/homebrew/Caskroom
此步骤成功
   ---备份要删除的文件夹到系统桌面....
   ---/opt/homebrew/Cellar 备份完成
-> 创建文件夹 /opt/homebrew/Cellar
此步骤成功
   ---备份要删除的文件夹到系统桌面....
   ---/opt/homebrew/var/homebrew 备份完成
-> 创建文件夹 /opt/homebrew/var/homebrew
此步骤成功
-> 创建文件夹 /opt/homebrew/var/homebrew/linked
此步骤成功
git version 2.30.1 (Apple Git-130)

下载速度觉得慢可以ctrl+c或control+c重新运行脚本选择下载源
==> 克隆Homebrew基本文件(32M+)

未发现Git代理(属于正常状态)
Cloning into '/opt/homebrew/Homebrew'...
remote: Enumerating objects: 194316, done.
remote: Total 194316 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (194316/194316), 49.91 MiB | 4.71 MiB/s, done.
Resolving deltas: 100% (145009/145009), done.
此步骤成功
==> 创建brew的替身
此步骤成功
==> 克隆Homebrew Core(224M+) 
此处如果显示Password表示需要再次输入开机密码,输入完后回车
Cloning into '/opt/homebrew/Homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Enumerating objects: 989892, done.
remote: Total 989892 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (989892/989892), 396.10 MiB | 2.89 MiB/s, done.
Resolving deltas: 100% (682362/682362), done.
此步骤成功
==> 克隆Homebrew Cask(248M+) 类似AppStore 
此处如果显示Password表示需要再次输入开机密码,输入完后回车
Cloning into '/opt/homebrew/Homebrew/Library/Taps/homebrew/homebrew-cask'...
remote: Enumerating objects: 632124, done.
remote: Total 632124 (delta 0), reused 0 (delta 0)B | 1.82 MiB/s   
Receiving objects: 100% (632124/632124), 265.04 MiB | 981.00 KiB/s, done.
Resolving deltas: 100% (451506/451506), done.
此步骤成功
==> 配置国内镜像源HOMEBREW BOTTLE
此步骤成功

==> 安装完成,brew版本

11.2
brew -v

zsh:363: command not found: brew

    失败 查看下面文章第二部分的常见错误
    https://zhuanlan.zhihu.com/p/111014448
    如果没有解决,把运行脚本过程截图发到 cunkai.wang@foxmail.com --end

2. 因为M1芯片的包安装位置不在是以前的/usr/local/而是/opt/homebrew,所以要将配置文件里的环境变量改过来

1、首先进入根目录
$ cd ~
2、创建.zshrc文件
$ touch .zshrc
3、打开文件进行编辑
$ open -e .zshrc
4、如果有旧的环境就修改,没有就新增
export PATH=/opt/homebrew/bin:$PATH export PATH=/opt/homebrew/sbin:$PATH
参考结果 .zshrc文件内容
# HomeBrew export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles # export PATH=”/usr/local/bin:$PATH” # export PATH=”/usr/local/sbin:$PATH” export PATH=/opt/homebrew/bin:$PATH export PATH=/opt/homebrew/sbin:$PATH # HomeBrew END
5、保存
使用command + s保存文件,然后关闭
6、生效环境变量
$ source .zshrc
7、测试
$ brew -v
参考结果
liuxiaofan@Richards-M1 ~ % brew -v Homebrew 3.2.1-26-g3cbf7b7-dirty Homebrew/homebrew-core (git revision 2107f7374a; last commit 2021-07-07) Homebrew/homebrew-cask (git revision 835d572f82; last commit 2021-07-07)

mac下使用n来切换指定Node版本

目前市面上有两种工具可以切换Node版本,我强烈推荐使用n,因为安装和使用更方便。

安装方法:

sudo npm install -g n 

或者

brew install n 

使用方法:

安装最新的node版本

sudo n latest 

安装指定的node版本,例如12.18.2

sudo n 12.18.2 

切换,控制台输入n然后选择要切换的版本即可

sudo n 

package-lock.json的作用

网上搜索package-lock.json的作用,有大把的文章介绍,我这里就不详细介绍了。
我要说的这个文件要解决什么问题?

当我们clone下来一个项目的时候,在执行了npm install之后发现各种报错,项目跑不起来,有没有?是不是装完依赖包之后发现版本都变高了?
那么怎么锁住版本呢?
package-lock.json就是用来锁依赖包版本用的。
如果项目中有这个文件,那么执行npm install 时改为 npm install –no-save 就不会升级版本了。

No Xcode or CLT version detected 解决办法

Mac系统,在用npm安装依赖包的时候总会报这个错误:gyp: No Xcode or CLT version detected!
原因是Xcode命令行工具有问题,需要删掉重装。

1 查看安装路径

xcode-select --print-path

默认的路径应该是/Library/Developer/CommandLineTools

2 删除

sudo rm -r -f /Library/Developer/CommandLineTools

3 重新安装

xcode-select --install

这个工具包大小400多m很快就能装完