完整报错信息
error An unexpected error occurred: "EPERM: operation not permitted, unlink 'C:\Users\zhang\Desktop\tmp\lege-react-management\node_modules\esbuild-windows-64\esbuild.exe'". info If you think this is a bug, please open a bug report with the information provided in "C:\Users\zhang\Desktop\tmp\lege-react-management\yarn-error.log". info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
解决办法
当Yarn在安装依赖时遇到类似“EPERM: operation not permitted, unlink …”这样的错误时,这通常意味着当前用户没有足够的权限去删除或重写目标文件或目录。具体到您的案例,“esbuild.exe”文件无法被unlink(删除)。这里有几个解决方案:
-
权限问题:
- 以管理员身份运行命令提示符或终端:右击命令提示符图标,选择“以管理员身份运行”,然后在该终端窗口中运行
yarn
或yarn install
命令。
- 以管理员身份运行命令提示符或终端:右击命令提示符图标,选择“以管理员身份运行”,然后在该终端窗口中运行
-
关闭相关进程:
- 如果“esbuild.exe”正被另一个进程占用,需要关闭相关的进程后再尝试安装。您可以打开任务管理器查找是否有esbuild相关的进程在运行,并结束它。
-
手动删除文件:
- 尝试手动删除报错提及的文件,例如在本例中是
'C:\\Users\\zhang\\Desktop\\tmp\\lege-react-management\\node_modules\\esbuild-windows-64\\esbuild.exe'
。确保在关闭任何可能使用它的IDE或构建工具之后再进行删除。
- 尝试手动删除报错提及的文件,例如在本例中是
-
清理缓存和重试:
- 清理Yarn的缓存并重新安装所有依赖:
yarn cache clean yarn install
- 清理Yarn的缓存并重新安装所有依赖:
-
锁定文件问题:
- Windows有时会因为文件被锁定而导致无法删除,重启电脑后可能解锁文件,然后再尝试安装。
-
检查防病毒软件或防火墙:
- 某些防病毒软件可能会阻止某些操作,将其设置为白名单或者暂时禁用防病毒软件,然后重试安装。
-
使用npm而非yarn:
- 虽然这不是根本解决办法,但在一些情况下,换用npm (
npm install
) 可能会绕过这个问题,因为npm和yarn在处理权限问题上可能存在差异。
- 虽然这不是根本解决办法,但在一些情况下,换用npm (
确保在解决问题后再次尝试安装项目依赖,如果问题依旧存在,检查 yarn-error.log
文件获取更详细的错误信息,并参考官方文档或提交bug报告。