npm install安装失败,报错记录之The operation was rejected by your operating system. node-sass无法安装,且禁用淘宝镜像

因为公司电脑都由管理员管控,使用自己的账号是无法执行一些需要管理员权限的命令,所以在刚到公司时,使用管理员账号安装了node,配置了node缓存目录node_cache、node_global,以及设置了相关的环境变量,以及修改npm镜像源为淘宝镜像源,最初项目安装都没问题,但是随着公司mcafee安全组件升级,淘宝镜像源被禁用,执行npm install就会报错。

 使用了各种方式都没有解决此问题,后来就觉得是mcakee的阻拦导致被禁止访问,但是通过包的网址直接浏览器访问是未被禁用的,所以这就成为了一个无头悬案。无奈每次安装依赖,都要找到对应的依赖包下载到本地电脑,然后作为静态资源放置到本地引入,但是这种方式会带来很多局限性,很多插件也没有明确的使用说明,在实际操作中总会遇到各种各样的问题。

时隔几月,这几天开发任务较少,突然想到此问题,便又在网上搜索相关解决方案,看到一篇帖子说这个可能是当前用户无node_cache文件的缓存权限导致的,这一观点是在之前未被想到的,看着相关报错也符合此推理,于是便联系it给当前用户开通了管理员权限,重新给node_cache和node_global分配了权限;

 权限分配完,发现确实可以下载,但是由于无法使用淘宝镜像,所以修改npm镜像为https://registry.npmmirror.com/

但是由于项目中使用到node-sass,且本地的node环境为14.7.1,发现之前使用的node-sass版本域本地node环境不符,升级node-sass版本,下载仍然失败;经查看相关blog发现可以通过修改node-sass为本地,提前去github上下载对应的二进制文件win32-x64-83_binding.node,可以解决下载问题:

具体配置方法如下:

在这里提供通过 node-sass 官方提供的 .node 二进制文件安装和 node 环境相匹配的 node-sass 的方法。

1、本地控制台输入 node -p "[process.platform, process.arch, process.versions.modules].join('-')"查看对应的 node-sass 二进制文件版本。

2、前往 github 上下载对应的二进制文件,找到并下载对应版本的二进制文件

3、项目路径下,控制台执行 npm i node-sass --sass_binary_path=BINDING_NODE_PATH 进行 node-sass 安装,其中 BINDING_NODE_PATH 为下载的二进制文件 win32-x64-83_binding.node 的路径。

4、安装完成后,进入项目 node-module 路径,找到刚刚安装好的 node-sass,查看路径下的 vender 文件夹;记住,vendor 文件夹下的内容必须和二进制文件名匹配,如上图所示,如果不匹配,就修改文件夹名,然后把下载的二进制文件重命名为 binding.node 放进去就可以了,如果没有 vendor 文件夹,就自己创建一个。

参考blog:

(55条消息) npm install安装失败,报错记录之The operation was rejected by your operating system._桔梗花开❀的博客-CSDN博客

(55条消息) 解决npm下载失败,下载缓慢_小花不秃头的博客-CSDN博客_npm下载失败

sass/node-sass: Node.js bindings to libsass

node-sass各版本 - 半糖也甜吖 - 博客园

(55条消息) sass的本地安装 - CSDN

(55条消息) 使用vscode开发配置uni-app(小程序)_yasinawolaopo的博客-CSDN博客_vscode配置小程序开发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值