2026 年问题汇总

在 Ubuntu 中安装最新版 Node.js 的办法

Ubuntu 官方源提供的 Node.js 版本过于老旧,无法正常使用。 见 NodeSource 提供的安装脚本。

Windows 端口管理

Windows 下的端口管理方式与 Linux 不同,采用动态端口范围(Dynamic Port Range)。该范围内的端口会被系统动态分配给系统服务使用,会导致一些应用程序无法绑定到这些端口上。

查看当前系统的动态端口范围:

netsh int ipv4 show dynamicport tcp

查看动态端口范围内已经被占用的端口:

netsh interface ipv4 show excludedportrange protocol=tcp

一旦某个端口范围被占用,系统就会将其排除在动态端口范围之外,导致该范围内的端口无法被应用程序使用。尤其是动态端口范围被设定从 1024 开始时,就很容易造成端口冲突问题。

解决办法是调整动态端口范围,避免与应用程序使用的端口冲突。可以将动态端口范围调整为 49152-65535(需要管理员权限):

netsh int ipv4 set dynamicport tcp start=49152 num=16384
netsh int ipv6 set dynamicport tcp start=49152 num=16384

随后,运行 net stop winnatnet start winnat 来重启 Windows NAT 服务,使更改生效。

clangd 用户配置路径

Windows 下的 clangd 用户配置文件位于 %APPDATA%\clangd\config.yaml,类 Unix 系统下位于 ~/.config/clangd/config.yaml

Vim 剪切板相关

  • unnamed:对应于 * 寄存器,在 Linux 环境下对应于 X11 primary selection,在其余环境下对应于系统剪贴板。
  • unnamedplus:对应于 + 寄存器,在 Linux 环境下对应于 X11 clipboard selection,在其余环境下对应于系统剪贴板。

X11 剪贴板机制

X11 primary selection:当用户选择文本时,文本会被自动复制到 primary selection 中,可以通过鼠标中键粘贴。 X11 clipboard selection:当用户使用 Ctrl+C 或右键菜单复制文本时,文本会被复制到 clipboard selection 中,可以通过 Ctrl+V 或右键菜单粘贴。

What is MVVM?