切换到rbenv后Rails应用出现ExecJS::RuntimeError问题求助
问题根源
错误提示里的libicui18n.73.dylib找不到,本质是你通过Homebrew安装的Node@18依赖的icu4c库已被更新(Homebrew会自动清理旧版本依赖),导致Node无法定位到指定版本的库。这和rbenv本身没有关系,属于Node的系统依赖问题。
解决步骤
- 重新安装Node@18,让它关联当前系统中的icu4c版本:
brew reinstall node@18 - 如果重新安装后问题仍存在,尝试重新链接Node@18:
brew link --overwrite node@18 - 验证Node是否能正常运行:
运行该命令若没有报错,说明Node的依赖问题已解决,重启Rails服务器即可。node -v
额外说明
之前添加execjs和therubyracer无效,是因为这个错误并非Ruby端JS运行时的问题,而是系统中的Node本身无法正常启动,导致ExecJS调用Node失败。
内容的提问来源于stack exchange,提问作者Neil
相关产品推荐
相关产品推荐

