上一步骤,降低了本地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时遇到的坑:如果有相同的问题,可以尝试以下几种方案解决

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

被折叠的 条评论
为什么被折叠?



