解决 npm install canvas@2.11.2 失败的问题

文章目录

  • 前言
  • [Mac 版](#Mac 版)
    • 安装系统依赖(macOS)
    • [确保 Xcode 命令行工具已安装](#确保 Xcode 命令行工具已安装)
    • [将 npm 镜像源更改为淘宝镜像源](#将 npm 镜像源更改为淘宝镜像源)
    • [全局安装 node-gyp](#全局安装 node-gyp)
    • [清除 npm 缓存并开始安装](#清除 npm 缓存并开始安装)
    • 安装成功
  • [Windows 版](#Windows 版)
    • [安装 vscode](#安装 vscode)
    • [将 npm 镜像源更改为淘宝镜像源](#将 npm 镜像源更改为淘宝镜像源)
    • [全局安装 node-gyp](#全局安装 node-gyp)
    • [清除 npm 缓存并开始安装](#清除 npm 缓存并开始安装)
    • 安装成功

前言

项目中使用了 canvas npm包来实现 node 服务端数据成图的功能。但是在项目中使用 npm install 安装失败,经过各种和 AI 沟通的尝试后,终于指定版本的 canvas 安装成功,项目也运行成功,在此记录一下安装方法。


Mac 版

  • 操作系统:MacOS Sequoia 15.5
  • node版本:v15.14.0
  • npm版本:v7.7.6

安装系统依赖(macOS)

canvas 需要系统级图形库支持,使用Homebrew安装:

bash 复制代码
brew install pkg-config cairo pango libpng jpeg giflib librsvg

确保 Xcode 命令行工具已安装

bash 复制代码
xcode-select --install

将 npm 镜像源更改为淘宝镜像源

bash 复制代码
# 查看当前配置
npm config get registry
# 设置为淘宝镜像
npm config set registry https://registry.npmmirror.com/
# 恢复为官方镜像
npm config set registry https://registry.npmjs.org/

全局安装 node-gyp

node-gyp是一个Node.js的原生插件构建工具,用于编译C++扩展模块。很多Node.js模块,比如canvas,都包含C++代码,需要编译后才能在特定平台上运行。

bash 复制代码
npm install -g node-gyp

清除 npm 缓存并开始安装

bash 复制代码
# 清除npm缓存
npm cache clean --force
npm cache verify
# 删除指定文件
rm -rf node_modules package-lock.json
npm install

安装成功

执行 npm install 后,需要等待10分钟左右才会安装成功,进程会卡在 core-js@2.6.12 处,如下图:

等待中截图

安装成功截图


Windows 版

  • 操作系统:Windows 11
  • node版本:v15.14.0
  • npm版本:v7.7.6

安装 vscode

官网下载地址

将 npm 镜像源更改为淘宝镜像源

bash 复制代码
# 查看当前配置
npm config get registry
# 设置为淘宝镜像
npm config set registry https://registry.npmmirror.com/
# 恢复为官方镜像
npm config set registry https://registry.npmjs.org/

全局安装 node-gyp

node-gyp是一个Node.js的原生插件构建工具,用于编译C++扩展模块。很多Node.js模块,比如canvas,都包含C++代码,需要编译后才能在特定平台上运行。

bash 复制代码
npm install -g node-gyp

清除 npm 缓存并开始安装

bash 复制代码
# 清除npm缓存
npm cache clean --force
npm cache verify
# 删除指定文件
rmdir /s /q node_modules && del /f /q package-lock.json
npm install

安装成功

执行 npm install 后,很快就安装成功了,不会像 Mac 端卡着。如下图:

相关推荐
jenchoi4136 小时前
【2025-11-30】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·安全·web安全·网络安全·npm
小毛驴8506 小时前
快速设置 npm 源
前端·npm·node.js
小毛驴8506 小时前
npm 代理配置
前端·npm·node.js
小毛驴8506 小时前
查看 npm 源的常用命令
前端·npm·node.js
我是阿亮啊16 小时前
搭建Vue环境遇到的问题
javascript·vue.js·npm·node.js
木易 士心1 天前
Error: Module ‘@npmcli/config’ not found — 如何解决?
javascript·npm
李少兄1 天前
解决 `npm install` 卡在 `idealTree: sill idealTree buildDeps` 的排查与修复
前端·npm·node.js
f***14771 天前
Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
前端·npm·node.js
A_one20102 天前
【无标题】
npm
jenchoi4132 天前
【2025-11-28】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·安全·web安全·网络安全·npm