nodejs升级到4.0出错解决方案

本文详细记录了一次从 Node.js 旧版本升级至 4.0 版本时遇到的运行问题。升级过程中,发现使用的 C++ 库无法正常工作,返回 exitcode139 错误。经过排查,确认问题出在 canvas 库的调用上。通过在 Docker 部署环境下调整环境变量,成功解决了 canvas 库的安装问题,避免了错误的发生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题出现

已有网站项目,升级到node.js4.0,结果运行不起来,返回代码 exit code 139 。

摸索过程

通过搜索引擎,想查找139代表什么意思,未果。然后找升级注意事项的资料,发现了提到了C++模块使用着升级要小心,因此想到我的验证码使用了canvas。
通过屏蔽canvas的调用,确定了原因所在。

解决方法

知道了原因,其实就是要重新编译canvas库!
我服务器使用了docker部署,在linux下,canvas的安装在nodejs4.0下很正常。
在mac上安装却出现了问题,找不到cairo,仔细看了看我的安装记录(前面的 mac知识中有初装过程记录),发现可能是环境变量问题,运行

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig

然后再安装canvas,成功。

结论

升级到nodejs4.0,你所使用的C++库可能需要重新编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值