无论是发布JS包到私有/公有源,都会走npm publish命令进行发布,但之前并注意到publish时针对lock文件处理,又比如resolutions字段处理等。这里将我所了解的问题点整理下。

发布包不包含package-lock.json

  1. 开发JS包,源码管理时我们需要将package-lock.json纳入VSC管理,但publish时lock文件是不会被publish。
  2. 在具体项目中当我们执行npm install命令,顶级包也即目标项目的lock文件会被识别进行具体版本的安装,但依赖的包中所包含的lock文件是会被直接忽视的。

发布包中包含lock文件?

  • npm-cli >=v6情况下,无论package.json-files白名单中是否配置package-lock.json,都不会被发布。但老版CLI下,通过白名单配置是可以发布的。
  • 实测v6即会出现该问题。通过官方版本历史查询可以看到比如安装nodev8默认npm cli为v6,尝试该版本即可复现该问题。
阅读全文 »

Google Cloud有推出免费计划,获享 $300 赠金,免费试用 90 天。因工作需要所以体验了下,这里就mark下操作过程。

申请条件

  1. Visa卡
  2. Google账户
  3. 支持外网访问

申请步骤

  1. 直接访问https://console.cloud.google.com

  2. 如果未登录Google账户,执行登录,登陆后,直接点击试用

  3. 填写信息,地区/Visa卡

  4. 进入控制台

    • 首先点击结算-概览即可看到到账的赠金300刀,及试用天数。我这里是HK币种,所以显示2K+

    • 注意不要点击顶部右侧激活按钮。如果激活,免费试用期结束后,系统会自动开始计费

  5. 有了钱就可以买机器了。这里点击左侧菜单-选择虚拟机实例-创建实例-按需选择即可

阅读全文 »

代理是个常见问题,理解好代理设置这块,可以更好的解决网络类问题。这里围绕工作中遇到的代理相关问题,整体总结。

maybe有错,欢迎斧正

阅读全文 »

Mac下有Alfred已经足够效率,iPhone上有官方的Shortcuts,可以在一定程度上提升效率,这里总结下目前我常用的一些workflow。

https://static.1991421.cn/2022/2022-08-26-235239.jpeg

常用Shorcuts

  1. 快速打开身份证文件

    • 现在三天一续命,为了方便做核酸,这里将身份证文件存储到iCloud上,然后workflow中执行打开文件动作即可。这里之所以不存储到照片中,主要是照片中一般存储的生活照,身份证这类信息还是过于敏感,因此单独作为文件存储
      阅读全文 »

线上WebShell在执行密码登录FreeBSD 13.0 64位时,报错超时进而开始调研,这里分析下

https://static.1991421.cn/2022/2022-08-21-130943.jpeg

https://static.1991421.cn/2022/2022-08-21-191440.jpeg

排查

  1. 错误的直接原因是SSH登录超时,查看SSH2模块及具体调用逻辑发现有两种可能性会造成超时

    1. 有执行键盘交互登录时,用户一直未输入会提示为超时,如果本身网络不通报错会是ECONNRESET
    2. SSH握手服务端一直没有响应会触发超时
  2. 按照当前客户端登录逻辑,虽然客户端有多种登录方式轮流尝试的方式,当前逻辑里开启了键盘交互登录,但能够触发的前提也是公钥登录失败

  3. 测试环境保证与线上程序一致的情况下测试发现并复现,而生产环境稳定复现。本地终端比如iTerm2直接登录并不复现该问题。

  4. 尝试在生产服务器上直接使用ssh命令

    具体计时测试发现,生产服务器上测试直接命令行执行ssh连接,在20s+后,报错ssh_exchange_identification: read: Connection reset by peer。对照上述默认超时时间,也就可以说通了。

    阅读全文 »
0%