安装NodeJS, N命令似乎卡住了

我一般会紧跟着NodeJS官网的最新版,来更新本地的NodeJS版本。 我的系统是ubuntu 20.4, 我用tj/n这个工具来更新Node。 但是这一次,这个命令似乎卡住了。 我排查后发现,是n这个命令在访问https://nodejs.org/dist/index.tab这个地址时,卡住了。 请求超时,因为默认没有设置超时时长,所以等待了很久才显示超时的报错,表现象上看起来就是卡住了。 首先我用dig命令查了nodejs.org的dns解析,我发现是正常解析的。 然后我又用curl对nodejs官网做了一个测试,发现也是请求超时。 curl -i -m 5 https://nodejs.org curl: (28) Failed to connect to nodejs.org port 443 after 3854 ms: 连接超时 这样问题就清楚了,然后我就想起来npmirrror上应该有nodejs的镜像。 在查看n这个工具的文档时,我也发现,它是支持设置mirror的。 其中给的例子用的就是淘宝NPM 就是设置了一个环境变量。然后执行source ~/.zshrc export N_NODE_MIRROR=https://npmmirror.com/mirrors/node 但是,我发现在命令行里用echo可以打印N_NODE_MIRROR这个变量的值,但是在安装脚本里,还是无法获取设置的这个mirror。 我想或许和我在执行sudo n lts时的sudo有关,这个.zshrc在sudo这种管理员模式下是不生效的。普通用户的环境变量也不会继承到sudo执行的环境变量里 最后,我用sudo -E n lts, 成功的从npmmirror上更新了nodejs的版本。 关于curl超时的这个问题,我也给n仓库提出了pull request, https://github.com/tj/n/pull/771

2023-07-09 14:20:45 · 1 min · Eddie Wang

JS运行时构建独立二进制程序比较

很早以前,要运行js,则必须安装nodejs,且没什么办法可以把js直接构建成一个可执行的文件。 后来出现一个pkg的npm包,可以用来将js打包成可执行的文件。 我好像用过这个包,但是似乎中间出过一些问题。 现在是2023年,前端有了新的气象。 除了nodejs外,还有其他的后来新秀,如deno, 还有最近表火的bun 另外nodejs本身也开始支持打包独立二进制文件了,但是需要最新的20.x版本,而且我看了它的使用介绍文档,single-executable-applications, 看起来是有有点复杂,光一个构建就写了七八步。 所以今天只比较一些deno和bun的构建出的文件大小。 准备的js文件内容 // app.js console.log("hello world") deno构建指令: deno compile --output h1 app.js, 构建产物为h1 bun构建指令: bun build ./app.js --compile --outfile h2, 构建产物为h2 -rw-r--r--@ 1 wangduanduan staff 26B Jun 1 13:34 app.js -rwxrwxrwx@ 1 wangduanduan staff 78M Jun 1 13:59 h1 -rwxrwxrwx@ 1 wangduanduan staff 45M Jun 1 14:01 h2 源代码为26b字节 deno构建相比于源码的倍数: 3152838 bun构建相比于源码的翻倍: 1804415 deno构建的可执行文件相比bun翻倍:1.7 参考 https://bun.sh/docs/bundler/executables https://deno.com/manual@v1.34.1/tools/compiler https://nodejs.org/api/single-executable-applications.html

2023-06-01 13:48:00 · 1 min · Eddie Wang

VScode激活Tab更容易区分

默认情况下VScode的tab栏,当前的颜色会更深一点。如下图所示,第三个就是激活的。 但是实际上并没有太高的区分度,特别是当显示屏有点反光的时候。 我想应该不止一个人有这个问题吧 看了github上,有个人反馈了这个问题,https://github.com/Microsoft/vscode/issues/24586 后面有人回复了 "workbench.colorCustomizations": { "tab.activeBorder": "#ff0000", "tab.unfocusedActiveBorder": "#000000" } 上面就是用来配置Tab边界的颜色的。 看下效果,当前激活的Tab下有明显的红线,是不是更容易区分了呢

2023-04-18 13:43:07 · 1 min · Eddie Wang

行位结束符引起的问题

CRLF 二进制 十进制 十六进制 八进制 字符/缩写 解释 00001010 10 0A 012 LF/NL(Line Feed/New Line) 换行键 00001101 13 0D 085 CR (Carriage Return) 回车键 CR代表回车符,LF代表换行符。 这两个符号本身都是不可见的。 如果打印出来 CR 会显示 \r LF 会显示 \n 不同系统的行结束符 Linux系统和Mac换行符是 \n Windows系统的换行符是 \r\n 如何区分文件的换行符? 可以使用od命令 od -bc index.md 假如文件的原始内容如下 - 1 - 2 注意012是八进制的数,十进制对应的数字是10,也就是换行符。 0000000 055 040 061 012 055 040 062 - 1 \n - 2 0000007 如果用vscode打开文件,也能看到对应的文件格式,如LF。 换行符的的差异会导致哪些问题? shell脚本问题 如果bash脚本里包含CRLF, 可能导致脚本无法解析等各种异常问题。 例如下面的报错,docker启动shell脚本可能是在windows下编写的。所以脚本无法 standard_init_linux.go:211: exec user process caused "no such file or directory" 如何把windows文件类型转为unix?...

2023-01-16 15:03:03 · 1 min · Eddie Wang

NUC11 安装 Deepin 20.2.4

硬件 内存:金士顿 16*2;869元 固态硬盘: 三星980 1TB; 799元 主机:NUC11 PAHI7; 4核心八线程;3399元 累计5000多一点, 是最新版Macbook pro M1prod的三分之一 启动盘制作 ventoy:试了几次,无法开机,遂放弃 rufus:能够正常使用;注意分区类型要选择GPT。最新款的一些电脑都是支持uefi的,所以选择GPT分区,一定没问题。 U盘启动 开机后按F2, 里面有一个是设置BIOS优先级,可以设置优先U盘启动 磁盘分区 因为之前设置了默认的整个磁盘分区,根目录只有15G, 太小了,所以我选择手动分区 先设置一个efi分区,就用默认的300M就可以,默认弹窗出来,是不需要设置挂在目录的 设置根分区 /, 我分了300G 设置/home分区,剩下的磁盘都分给他 我没有设置swap分区,因为我觉得32G内存够大,不需要swap 其他 后续的配置非常简单,基本点点按钮就能搞定 体验 总体来说,安装软件是最舒服的一件事。不需要像安装manjaro那样,到处找安装常用应用的教程。只需要打开应用商店,点击下载就可以了。 整个安装过程,我觉得磁盘分区是最难的部分。其他都是非常方便的。 感觉深度的界面很漂亮,值得体验 问题 NUC自带的麦克风无法外放声音,插有线耳机也不行,只有蓝牙耳机能用

2022-12-17 13:28:40 · 1 min · Eddie Wang

Wireshark 使用技巧

0. 前提条件 wireshark 4.0.2 1. 时间显示 wireshark的默认时间显示是抓包的相对时间, 如果我们时间按照年月日时分秒显示,就需要进行如下设置: 视图->时间显示格式->选择具体的时间格式 2. UDP解码为RTP 方案1 在一个包UDP包上点击右键,出现如下弹框,选择Decode As 再当前值上选择RTP 方案2 方案1有一个缺点,只能过滤单一端口的UDP包,将其解码为RTP。 假如有很多的UDP包,并且端口都不一样,如果想把这些包都解码为RTP, 则需要如下设置。 选择分析->启用的协议 在搜索框中输入RTP, 然后启用RTP的rtp_udp

2022-12-11 14:33:04 · 1 min · Eddie Wang

Windows更新之后 Linux报错 Error 0x80040154

最近我更新了Windows, 之后我的Windows Linux子系统Ubuntu打开就报错了 报错截图如下: 在网上搜了一边之后,很多教程都是说要打开Windows的子系统的功能。 但是由于我已经使用Linux子系统已经很长时间了,我觉得应该和这个设置无关。 而且我检查了一下,我的这个设置本来就是打开的。 然后我在Powershell里输入 wsl, 这个命令都直接报错了。 PS C:\WINDOWS\system32> wsl --install 没有注册类 Error code: Wsl/0x80040154 然后我到wsl的github上搜索类似的问题,查到有很多类似的描述,都是升级之后遇到的问题,我试了好几个方式,都没用。 但是最后这个有用了! https://github.com/microsoft/WSL/issues/9064 解决的方案就是: 卸载已经安装过的Windows SubSystem For Linux Preview 然后再Windows应用商店重新安装这个应用 Windows的升级之后,可能Windows Linux子系统组建也更新了某些了内容。 所以需要重装。 这里不得不吐槽一下WSL, 这个工具仅仅是个玩具。随着windows更新,这个工具随时都会崩溃,最好不要太依赖它。

2022-12-11 14:12:08 · 1 min · Eddie Wang

Edge浏览器双击标签栏 关闭标签页

在设置里搜索双击,如果有使用双击关闭浏览器选项卡, 则开启。 对于用鼠标关闭标签页来说,的确可以提高极大的效率。

2022-12-07 09:17:59 · 1 min · Eddie Wang

为什么我不再使用语雀

我在2019年的六月份时候,开始使用语雀。 一路走来,我见证了语雀的功能越来越多,但是于此同时,我也越来越讨厌语雀。 2022年12月初,我基本上把语雀上的所有内容都迁移到我的hugo博客上。 我的博客很乱,也很多。我写了一个脚本,一个一个知识库的搬迁,总体速度还算快,唯一不便的就是图片需要一个一个复制粘贴。 有些图片是用语雀的绘图语言例如plantuml编写的,就只能截图保存了。 总之,我也是蛮累的。 简单列一下我不喜欢语雀的几个原因: 性能差,首页渲染慢,常常要等很久,首页才能打开 产品定位混乱,随意更改用户数据 我记得有时候我把知识库升级成了空间,过了一段时间,不知道为什么空间由变成了知识库。 数字花园这个概念真的很烂。我好好的个人主页,某一天打开,大变样,换了个名字,叫做数字花园。甚至没有给用户一个选择保留老版本的个人主页的权利。太不尊重用户了!! 就好像你下班回家,看见房门被人撬开,你打开房门,看见有人在你的客厅种满大蒜,然后还兴高采烈的告诉你,看,这是您的数字菜园!多好,以后不用买蒜了。 会员的流量计费规则, 或许现在的计费规则已经变了,我也没有再充会员,但是再以前。即使是会员,也是按流量计费的。什么叫按流量计费,假如你的一篇博客里上传了一张1mb的图片,即使你后来把这个图片删了,这1mb的流量还是会存在。而且流量是一直往上涨的,还不像运营商,每月一号给你清零一次的机会。

2022-12-06 21:10:38 · 1 min · Eddie Wang

西安之旅 不仅有羊肉泡馍 也有长恨歌

一年过半以后,偶然打开微信公众号,看到草稿箱里的篇文章。我才回想起去年带女友去西安的那个遥远的夏天。 如今女友已经变成老婆,这篇文章我才想起来发表。 day 1 钟楼 鼓楼 回民街 那是六月末的时候,和女友一起坐火车去了趟西安。 为什么要去西安呢?据吃货女友说,西安有非常多的好吃的。所以人生是必须要去一趟的。 清晨,我们从南京南站出发坐动车,一路向西,坐了5个多小时,到达西安北站。 路上我带了一个1500ml的水瓶,以及1500ml的酸奶。 女友吐槽说,还好没做飞机,不然我就像宝强一样,要在机场干完一大瓶酸奶了。 下了动车,立即前往钟楼订的宾馆,放置行李。 西安钟楼位于西安市中心,是中国现存钟楼中形制最大、保存最完整的一座。建于明太祖洪武十七年,初建于今广济街口,与鼓楼相对,明神宗万历十年整体迁移于今址。 沿着钟楼附近,我们逛了一圈回民街。 回民街是西安著名的美食文化街区,是西安小吃街区。 西安回民街作为西安风情的代表之一,是回民街区多条街道的统称,由北广济街、北院门、西羊市、大皮院、化觉巷、洒金桥等数条街道组成,在钟鼓楼后。 钟楼 day 2 大唐芙蓉城 大唐不夜城 大雁塔 大唐芙蓉城是一座仿唐建筑,里面有许多景点,或许我们不应该早上来,因为上午太热了。 唯一庆幸的是,我们带了一个很大的水杯,而且芙蓉城里提供免费的开水,所以我们才没有被渴死。 大唐芙蓉城 西游师徒四人 雕塑 傍晚的 大唐不夜城 夜幕降临的 大唐不夜城 遗憾之一:大雁塔没有去看,因为当时正在维修,周围全是脚手架。 遗憾之二:没有到陕西历史博物馆看看,因为没有早点预约 女友埋怨我说我不早点做攻略,害得这么多景点去不了。 我说我是做了攻略的,还记在备忘录里面呢。 女友打开我的备忘录一看,笑出眼泪说:你做的啥狗屁攻略,就这几个字!男人果然靠不住! 我说: 这你就不懂了吧,啥都写清楚,一个一个点打卡多没意思。 day3 华清宫 兵马俑 长恨歌 由于西安攻略做的太过肤浅,所以第二天晚上决定直接跟团。在网上买了两张华清宫兵马俑和长恨歌的一日游。 说实在的,华清宫没啥意思,都是洗澡池子。 蒋介石洗过澡的池子,杨贵妃的洗澡池子,唐明皇的洗澡池子,大臣们的洗澡池子。 逛完之后,下午我们坐着旅游大巴,前往兵马俑。 一号坑 一号坑 一号坑 一号坑 一号坑 兵马俑有三个坑。 一号坑最大,兵马俑也是最多的。然而当时游客比肩接踵,加上天气炎热,大家都在里面像蒸桑拿一样。 出了一号坑,我心里想:这么大个坑,这么热为啥不装空调,难道是因为要保护文物吗? 后来据博物馆的讲解员介绍:不装空调是因为审核手续复杂,可能要要个几十年手续才能完成。像二号坑和三号坑都已经装好空调了。 二号坑真的是个坑,没有兵马俑,仅仅是个大坑。 三号坑比较小,仅有几个陶俑。 长恨歌实际上是一个大型的室外表演,由白居易的《长恨歌》演绎而来,讲述唐明皇和杨贵妃的爱恨情长。灯光绚丽,舞蹈优美,感人至深。 关于西安美食就很多了 毛笔酥 六大碗 毛笔酥 酸梅汤

2022-12-02 20:38:46 · 1 min · Eddie Wang