Sitespeed.io 安装指南:从Docker到多平台部署
概述
Sitespeed.io 是一款强大的网站性能测试工具,能够帮助开发者测量和分析网站的各项性能指标。本文将详细介绍如何在不同操作系统和环境中安装 sitespeed.io,包括 Docker 方式、Node.js 方式以及在各种平台上的具体配置方法。
Docker 安装方式(推荐)
对于大多数用户来说,使用 Docker 是最简单快捷的安装方式,因为 Docker 镜像已经包含了所有必要的依赖项。
基本命令
在 Mac 和 Linux 系统上运行:
docker run --rm -v "$(pwd):/sitespeed.io" sitespeedio/sitespeed.io https://www.example.com -b firefox
在 Windows 系统上运行:
docker run --rm -v ${pwd}:/sitespeed.io sitespeedio/sitespeed.io https://www.example.com -b firefox
这些命令会将测试结果输出到当前工作目录中。
Docker 方式的优势
- 无需安装额外的依赖
- 内置了 Chrome、Firefox 和 Edge 浏览器
- 包含了视频录制和分析工具
- 环境隔离,避免与系统其他软件冲突
Node.js 安装方式
如果需要更灵活的配置或无法使用 Docker,可以选择通过 Node.js 安装 sitespeed.io。这种方式需要额外安装一些依赖项。
Mac M1 安装步骤
-
安装 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
安装 Node.js LTS 版本:
brew install node@20
-
配置 npm 全局安装权限(避免使用 sudo)
-
安装 FFmpeg:
brew install ffmpeg
-
安装 Python 及相关依赖:
brew install pyenv pyenv install 3.9.1 pyenv global 3.9.1 python -m pip install --user pillow pyssim OpenCV-Python Numpy scipy
-
配置网络限速权限:
echo "${USER} ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee "/etc/sudoers.d/sitespeedio"
-
安装 sitespeed.io:
npm install sitespeed.io -g
Linux 安装(Ubuntu/Debian)
对于 Ubuntu 用户,可以使用预构建的安装脚本:
bash <(curl -sL https://gist.githubusercontent.com/soulgalore/18fbf40670a343fa1cb0606756c90a00/raw/7218332445010ee64e3301f2021bcf18a91f0627/install-sitespeed.io-and-dependencies-ubuntu.sh)
或者手动安装:
- 安装 Node.js LTS
- 安装 FFmpeg
- 安装 Python 依赖
- 创建专用用户
- 配置 sudo 权限
- 安装 sitespeed.io
Windows 安装
Windows 用户可以运行 Firefox、Chrome 和 Edge 浏览器的测试。建议参考官方提供的 GitHub Action 配置文件来了解依赖项的安装方法。
特殊平台安装
Raspberry Pi
树莓派可以用来在 Android 设备上运行测试:
- 安装 Node.js LTS
- 安装 ADB 和 Chromedriver
- 安装视频和视觉指标依赖
- 配置 npm 全局安装
- 安装 sitespeed.io
npm install sitespeed.io --location=global
浏览器驱动管理
跳过驱动安装
如果不需要某些浏览器驱动,可以通过环境变量跳过安装:
CHROMEDRIVER_SKIP_DOWNLOAD=true npm install sitespeed.io -g
更新驱动版本
可以手动指定驱动版本:
CHROMEDRIVER_VERSION=81.0.4044.20 npm install
常见问题解决
- 权限问题:确保 npm 全局安装不需要 sudo
- Python 依赖:使用正确的 Python 版本(推荐 3.9+)
- 视频录制:在 Mac 上需要给终端应用开启屏幕录制权限
- 网络限速:确保配置了正确的 sudo 权限
总结
本文详细介绍了 sitespeed.io 在各种平台上的安装方法。对于大多数用户,推荐使用 Docker 方式安装,它简单且包含了所有必要组件。对于需要更灵活配置的高级用户,可以选择 Node.js 安装方式,并根据自己的平台选择相应的配置步骤。
无论选择哪种安装方式,sitespeed.io 都能为你的网站性能测试提供强大的支持,帮助你发现和解决性能瓶颈,提升用户体验。