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

Windows下Node.js安装canvas失败,ag-psd无法读取PSD图像数据

解决ag-psd读取PSD图像数据时canvas安装失败问题

问题诊断

从错误日志可定位两个核心失败原因:

  1. 预编译二进制包缺失:canvas@2.9.3未提供适配Node.js 18(node-v108 ABI)的Windows预编译包,触发源码编译流程
  2. VS版本不匹配:node-gyp被强制指定寻找Visual Studio 2017,但系统实际安装的是VS2019,导致编译环境检测失败

解决方案

方案1:升级canvas到兼容Node.js 18的版本

旧版canvas@2.9.3不支持Node.js 18,直接安装最新稳定版(2.11.0及以上已适配Node.js 18预编译包):

npm uninstall canvas
npm install canvas@latest

此方案大概率跳过源码编译,直接安装预编译包,快速解决问题。

方案2:修正VS版本配置(若仍需源码编译)

如果升级后仍触发源码编译,需让node-gyp识别系统中的VS2019:

  • 临时指定环境变量(单次生效):
    set MSVS_VERSION=2019
    npm install canvas
    
  • 全局配置npm默认VS版本(永久生效):
    npm config set msvs_version 2019 --global
    

注意:确保VS2019已安装「桌面开发使用C++」工作负载及对应Windows SDK(日志显示系统已具备SDK,若缺失需补装)

验证

安装完成后,重新运行测试代码:

const fs = require('fs');
require('ag-psd/initialize-canvas.js');
const { readPsd } = require('ag-psd');

const buffer = fs.readFileSync('psd.psd');
const psb2 = readPsd(buffer);
console.log(psb2);

内容的提问来源于stack exchange,提问作者Janez Kranjski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:18:30