背景:
我的分支代码完成了,部署到DEV环境自己做个测试,当部署的时候报出以下错误:
我以为是我的node包版本有问题,然后利用nvm
切换了很多个版本,发现最低版本为16.14
,所以不是node版本问题:
改为之前的node版本18.12.0
,发现是npm包的ssh2包出错了
删除了npm依赖包和pnpm-lock.json,将ssh2版本更改为1.11.18
重新安装,说我ssh2版本没有找到与之匹配的版本,ssh2的最新版本是1.15.0
。
最后将ssh2版本更换为^1.11.0
重新删node包重新安装然后部署成功了~~~
扩展一下:插入符号^
的作用是将会把当前库的版本更新到第一位数字中最新的版本
比如我现在的1.11.0
会更新到最新版本1.15.0
到时候包更新到1.16.1
,重新npm就会更新到这个版本,如果是2.1.0
则不会更新到这个版本。
总结:
因为ssh2包版本出错而部署失败,更换版本就好
在版本前加插入符号 ^ 即可