debian 安装puppeteer相关问题
1. 安装node
- 可先安装node版本管理工具 n 或者 nvm 二选一;n如果不是 npm 安装的话要sudo权限,nvm 的话就是个shell 有时候启动shell会慢一点,自己选择吧。
- nvm 安装: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
- n 安装:curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n && n lts
- 安装 node
- 执行n 选择版本
- nvm install node
- 或者 apt-get update && apt-get install node (不推荐,版本太低)
- 设置 npm 国内镜像
- npm config set registry https://registry.npm.taobao.org
2.安装puppeteer
-
新建一个用户用于执行 node : ````useradd puppeteer -d /home/puppeteer
-
这里注意不要用root用户执行,不然不会自动下载chromium,后面运行 node 的时候也会因为沙箱安全问题出错。
mkdir test && cd test && npm i puppeteer
3. 安装chromium 依赖
因为 puppeteer 只会下载 chromium 执行文件并不会为系统安装依赖。所以可以先安装依赖
-
安装社区 chromium 会自动安装依赖:
apt-get update && apt-get install chromium
安装不成功!- 这是安装程序时的一个安全相关策略 ,需要先设置一下 apt-key。
- 然后设置 Chrome 的仓库:
- 再次安装:
apt-get install chromium
-
手动安装依赖:
- 方法一:
apt-cache depends chromium |grep Depends |cut -c 13- | xargs apt insall
- 方法二:
apt install libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libgbm1 libasound2 libpangocairo-1.0-0 libxss1 libgtk-3-0
- 方法一:
3.测试
- 新建测试文件:
touch test.js
-
执行 node test.js
- 如果执行出错可用 ldd 看看 node_module 里的chrome差什么依赖
4. 安装中文字体
- scp baidu.png 到本地你会发现中文变成了方块字符,解决办法就是在debian上安装中文字体
☄