玩命狂奔的间隙,莫忘记抬头看看前路的星光

0%

诡异的问题花了我3个晚上都没有解决

最近像往常一样用go写服务端程序,写好了上传到线上服务器去测试一下,启动时,忽然报错:

1
Trace/breakpoint trap (core dumped)

通过AI得到的常见答案都没有解决问题:

  • 从Mac系统编译Ubuntu系统,交叉编译的命令可能错误
  • 目标服务器的芯片和编译的参数不正确
  • 上传到服务器后,可执行文件的文件夹或文件的权限不够

以上都确认过,发现都没有问题,可问题依旧存在。

解决问题的契机

期间在qq群里也有热心群友帮忙编译发给我来做测试;也有朋友提醒我检查上传上去的文件的hash值是否和本地的一样;等等,还是好人多哦!因为上传群友的文件时,我顺手使用了ssh上传,结果发现可以。

于是我切换ftp上传为ssh上传自己的程序时,问题居然没有了。难道说,不同的上传方式还会有问题?
难道是FileZilla 上传文件到服务器,ftp上传时数据被修改了?

Read more »

即使使用梯子、不使用梯子,设置各种代理和镜像,都有可能出现node install失败的可能。
即使强制设置仓库回官方的仓库都不行:

1
yarn config set registry https://registry.npmjs.org #这个根本不行

经过验证简单快捷的解决方法:直接关闭npm 或 yarn的ssl证书验证。

Read more »

打开PowerShell:确保你以管理员身份运行PowerShell,这样可以避免权限问题。

导航到目标文件夹:使用cd命令切换到包含你想要删除文件的顶级文件夹。例如:

1
cd C:\path\to\your\top-level-folder

执行删除命令:使用以下PowerShell命令来递归地查找并删除所有以点开头的文件,包括子文件夹中的文件:

1
Get-ChildItem -Path . -Recurse -Force | Where-Object { $_.Name.StartsWith('.') -and $_.Mode -notlike 'd*' } | Remove-Item -Force

这里的参数解释如下:

Read more »

为了保持和生成环境一致的开发环境,会在本地电脑上安装一个虚拟机,运行和正式服务器同样的环境。
一般会在goland或vscode中写go代码,现在goland用的比较舒服,毕竟Intellij 全家桶还是挺香的,不忍释手。
这里记录下服务端安装go的过程。

Read more »

之前一直用腾讯一年有效期的免费https证书,结果最近https证书到期后,再签发时就只支持90天有效期了。这就极度容易让人产生逾期焦虑,如果能够有办法自动续签就好了。经过一番搜索,终于找到了。这个组织做免费的https证书,虽然同样只有90天期限,但是提供了工具,可以很方便的自动续签,这就和无期限一样了。

Read more »

在Windows平台下安装NodeJs如果不选安装包,而是打算通过命令行来安装并对NodeJs的版本进行管理,还是有点麻烦和曲折的。

打开NodeJs官方提供的下载地址:https://nodejs.org/en/download/package-manager ,第一眼会觉得如此简单,赶紧复制粘贴一气呵成完成安装。

1
2
3
4
5
6
7
8
9
10
11
# installs fnm (Fast Node Manager)
winget install Schniz.fnm

# download and install Node.js
fnm use --install-if-missing 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.14.0`

# verifies the right NPM version is in the environment
npm -v # should print `10.7.0`

但是,事与愿违。从来不会有顺顺利利完成安装的时候。

Read more »

最近准备写一个软件,需要支持Windows平台。从Mac系统切换到Windows 10来进行开发工作,一开始就遇到了问题。打算安装一个nvm对NodeJS进行版本管理,根据nvm的安装说明来。发现需要安装wsl,于是就开始遇到问题了。
打开系统菜单,输入wsl三个字母,自然的跳出了一个黄色的图标下面写着WSL。很开心这么顺利,windows已经开箱安装好了这个功能。点击wsl图标,一个大大的黑色命令行窗口一闪而过,然后什么都没有了。

经过一番摸索,终于解决了这个问题,具体解决方法如下:

Read more »