node-sass安装血泪史(二)-- 分析问题原因

本文讲述了作者在部署node-sass到服务器时遇到的权限问题,通过调整package-lock.json、提升npm权限和解决版本锁定,最终成功部署。关键步骤包括:使用--unsafe-perm安装、提交lock文件和配置权限设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上node-sass安装血泪史(一)-- 背景和前期准备

上一步骤,降低了本地node版本,更换了node-sass版本,之后还是可以正常运行。

但是部署到服务器上还是不可以的。

实在没办法,继续追踪日志信息。发现以下问题。

一:

 二:

如上所示,第一步时,其实就已经暴露问题了。

gyp ERR! stack Error: EACCES: permission denied, mkdir '/var/www/wms_mobile_backup/node_modules/node-sass/.node-gyp'

很明显,这是权限问题。由于一,导致二,无法编译成功

起初,查到的方案,是直接install node-sass时指定权限,所以,我在命令行那里执行的命令,npm install --unsafe-perm node-sass,但是并不行,也不知道为啥,一度陷入迷茫。

后来折腾再三,前端同事,让我把本地的packjson.lock文件也提交到远端服务器,他说可能有哪些版本没锁住吧,我也不清楚。提上去了。

然后再加上权限问题的配置,非常惊喜的是,竟然部署成功了,!!!!!!!

我擦,

然后,我就没再弄了,等后续其他小样式修改完后,再测试到底是哪一步生效的吧。

综上:

有以下改动:

1.package-lock.json 文件我一直没上传到远端过,所以为本地成功了 远端版本没锁住 用的不是我本地的版本
2.node-sass版本改成了5.0.0  sass-loader是10.0.1 但是貌似跟这个没有关系
3.node-sass需要升权限,虽然以root用户登进去的,但是 npm 出于安全考虑不支持以 root 用户运行  然后我们在命令里提权限了 npm i --unsafe-perm  直接这样的

其中第三步,直接在总的命令里提了权限,这样也避免了以后再引入新组件时,又产生权限的问题。

另外补充其他网友在安装node-sass时遇到的坑:如果有相同的问题,可以尝试以下几种方案解决

附上链接:https://zhuanlan.zhihu.com/p/37886736

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值