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

执行npm i @solana/web3.js时报EPERM权限错误安装失败怎么办

问题说明

执行npm i @solana/web3.js安装依赖时流程中断,抛出权限类报错:

EPERM: operation not permitted, unlink 'C:\Users<user>\node_modules\bufferutil\prebuilds\win32-ia32\node.napi.node'
此前已尝试修改npm配置prefix参数、重装Node.js、升级NPM/Yarn版本,均未解决问题。

核心原因

这个报错和npm路径配置、Node版本没有直接关系,本质是Windows环境下bufferutil(@solana/web3.js的间接依赖,带原生二进制文件)的目标文件被进程锁定,或是被系统/安全软件拦截了删除、写入权限,导致npm无法替换旧文件完成安装。

修复方案

按以下顺序操作,每步完成后重新执行安装命令验证即可:

  • 彻底结束所有占用文件的进程
    关闭所有打开的代码编辑器(VSCode等)、终端、本地运行的Node服务、Solana本地节点、调试中的DApp页面,打开任务管理器手动结束所有node.exe、npm.exe相关进程,释放文件锁。
  • 清理残留文件与缓存
    在终端执行以下命令:
    # 强制清空npm缓存
    npm cache clean --force
    # 删除项目内残留依赖和锁文件
    rd /s /q node_modules
    del package-lock.json
    # 删除全局路径下残留的bufferutil文件夹(替换<user>为你实际的Windows用户名)
    rd /s /q C:\Users\<user>\node_modules\bufferutil
    
  • 提权执行安装
    右键点击终端图标,选择「以管理员身份运行」,切换到项目目录后重新执行安装命令,避免普通用户权限不足的问题。
  • 排查安全软件拦截
    Windows Defender或第三方杀毒软件经常会误判.node后缀的原生二进制文件为风险程序,自动锁死文件阻止修改。临时关闭实时防护,或是把项目目录、Node.js安装目录加入安全软件白名单后重试。
  • 兜底方案:跳过可选原生依赖
    bufferutil是用于提升WebSocket连接性能的可选依赖,不安装不会影响@solana/web3.js核心功能,执行安装时加参数跳过可选依赖即可绕过问题:
    npm i @solana/web3.js --no-optional
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:51:17