You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu服务器用Puppeteer启动Chromium遭遇符号查找错误

Puppeteer启动Chromium报snd_device_name_get_hint符号未定义的解决方法

针对你遇到的Chromium启动时出现的undefined symbol: snd_device_name_get_hint错误,这里提供几个针对性的解决步骤:

1. 安装libasound2开发库

该符号属于音频库的核心组件,部分Ubuntu系统可能只安装了运行时库,缺少开发包导致符号无法被识别:

sudo apt-get install -y libasound2-dev

2. 修复libasound2安装完整性

如果之前的libasound2安装有损坏或依赖异常,强制重新安装并更新系统库缓存:

sudo apt-get purge --auto-remove libasound2
sudo apt-get install -y libasound2
sudo ldconfig

3. 改用系统自带的Chromium替代Puppeteer内置版本

Puppeteer自动下载的Chromium可能和系统库存在兼容性问题,切换到系统维护的版本:
首先安装系统Chromium:

sudo apt-get install -y chromium-browser

然后修改Puppeteer启动配置,指定系统Chromium的路径:

browser = await puppeteer.launch({
  headless: true,
  executablePath: '/usr/bin/chromium-browser', // 若路径不对可尝试/usr/bin/chromium
  args: [
    '--disable-gpu',
    '--disable-features=IsolateOrigins',
    '--disable-site-isolation-trials',
    '--autoplay-policy=user-gesture-required',
    '--disable-background-networking',
    '--disable-background-timer-throttling',
    '--disable-backgrounding-occluded-windows',
    '--disable-breakpad',
    '--disable-client-side-phishing-detection',
    '--disable-component-update',
    '--disable-default-apps',
    '--disable-dev-shm-usage',
    '--disable-domain-reliability',
    '--disable-features=AudioServiceOutOfProcess',
    '--disable-hang-monitor',
    '--disable-ipc-flooding-protection',
    '--disable-notifications',
    '--disable-offer-store-unmasked-wallet-cards',
    '--disable-popup-blocking',
    '--disable-print-preview',
    '--disable-prompt-on-repost',
    '--disable-renderer-backgrounding',
    '--disable-setuid-sandbox',
    '--disable-speech-api',
    '--disable-sync',
    '--hide-scrollbars',
    '--ignore-gpu-blacklist',
    '--metrics-recording-only',
    '--mute-audio',
    '--no-default-browser-check',
    '--no-first-run',
    '--no-pings',
    '--no-sandbox',
    '--no-zygote',
    '--password-store=basic',
    '--use-gl=swiftshader',
    '--use-mock-keychain',
  ],
  ignoreDefaultArgs: ['--disable-extensions'],
  userDataDir: './tmp',
});

4. 检查并修复库路径关联

用ldd命令查看Puppeteer内置Chromium依赖的音频库路径:

ldd /root/.cache/puppeteer/chrome/linux-130.0.6723.58/chrome-linux64/chrome | grep libasound

若输出的路径不存在或版本不匹配,手动创建软链接指向系统正确的库文件:

sudo ln -s /usr/lib/x86_64-linux-gnu/libasound.so.2 /root/.cache/puppeteer/chrome/linux-130.0.6723.58/chrome-linux64/libasound.so.2

5. 调整Puppeteer版本

当前版本的Puppeteer对应的Chromium可能和系统存在兼容性冲突,尝试降级或升级版本:

# 降级到稳定版示例
npm uninstall puppeteer
npm install puppeteer@21.0.0

# 或升级到最新版
npm uninstall puppeteer
npm install puppeteer@latest

内容的提问来源于stack exchange,提问作者Pushan Alagiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 01:53:17