安装node-sass@4.14.1遭遇EPERM权限错误,寻求解决方案
安装node-sass@4.14.1遇到EPERM错误的解决思路
你执行的安装命令是:
npm i node-sass@4.14.1
遇到的报错信息如下:
npm WARN deprecated request@2.88.2: request已被弃用,请查看https://github.com/request/request/issues/3142 npm WARN deprecated har-validator@5.1.5: 该库不再受支持 > node-sass@4.14.1 install C:\Users\gokha\OneDrive\Masaüstü\can-project\BurakConstructureProject\node_modules\node-sass > node scripts/install.js internal/fs/utils.js:307 throw err; ^ Error: EPERM: operation not permitted, read at Object.readSync (fs.js:592:3) at tryReadSync (fs.js:366:20) at Object.readFileSync (fs.js:395:19) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1090:18) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Module.require (internal/modules/cjs/loader.js:952:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (C:\Users\gokha\OneDrive\Masaüstü\can-project\BurakConstructureProject\node_modules\request\index.js:18:15) at Module._compile (internal/modules/cjs/loader.js:1063:30) { errno: -4048, syscall: 'read', code: 'EPERM' } npm WARN burakconstructureproject@1.0.0 No repository field. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@4.14.1 install: `node scripts/install.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-sass@4.14.1 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\gokha\AppData\Roaming\npm-cache\_logs\2021-02-27T12_36_18_529Z-debug.log
根据报错里的EPERM: operation not permitted,主要是权限或环境配置问题,给你几个可行的解决方向:
解决权限与路径限制
EPERM错误大多是权限不足或者目录有特殊限制导致的:- 右键终端/命令提示符,选择「以管理员身份运行」,再重新执行安装命令;
- 你的项目放在OneDrive同步目录下,这类目录可能有同步锁或者权限限制,把项目文件夹移到本地非同步目录(比如
C:\projects\BurakConstructureProject),再重新安装试试。
清理npm缓存后重试
缓存损坏也可能导致这类异常,先清理缓存再重新安装:# 清理npm缓存 npm cache clean --force # 删除node_modules和锁文件(Windows cmd用下面的命令) rmdir /s /q node_modules del package-lock.json # 重新安装 npm install node-sass@4.14.1切换国内镜像源安装
国内环境下,node-sass官方源下载二进制包容易出问题,换成国内镜像可以规避很多网络/权限相关的问题:npm install node-sass@4.14.1 --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/检查Node.js版本兼容性
node-sass的版本和Node.js版本是强绑定的,4.14.1只支持Node.js 10.x-14.x版本。如果你的Node版本是15及以上,就会出现兼容性问题。可以用nvm(Node版本管理器)切换到14.x版本后再重新安装。
内容的提问来源于stack exchange,提问作者gökhan albayrak




