vue node_modules\node-sass: Command failed. 安装失败,如何解决,使用 sass 替换

ue node_modules\node-sass: Command failed. 安装失败,如何解决,使用 sass 替换
一、问题
package.json

"node-sass": "^xx.xx.xx",
"sass-loader": "^xx.xx.xx",
1
2
vue 项目中,安装依赖的时候出现错误,如下:

error D:\proj\cscec-8bur-vms\dashboard-vuejs\node_modules\node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments:
Directory: D:\proj\cscec-8bur-vms\dashboard-vuejs\node_modules\node-sass
Output:
1
2
3
4
5
6


二、原因
package.json 中有个 node-sass 的包,在安装并编译这个的时候出现问题

三、解决办法
node-sass 的主要功能是将 sass/scss -> css ,跟 sass 的作用是一样的, sass 是 dart 语言写的,
直接用 sass 替换掉 node-sass 即可

"sass": "^xx.xx.xx",
"sass-loader": "^xx.xx.xx",
1
2


四、其它
在使用 vue create appName 创建 vue 项目,手动配置项目框架内容时,可以手动选择 sass/scss 的插件,之前我都是默认选 node-sass ,现在我只用 sass,让这个编译给烦透了。


五、替换 sass 后需要注意的问题
将 node-sass 替换成 sass 之后,需要注意一个问题:
node-sass 默认支持并包容以下关于除法的写法:

.item{
    width: $widthHole / 4;
}
1
2
3
但 sass dart 版的不包容这个写法:在编译项目的时候会提示:

Recommendation: math.div(($height-message - 20) * 2, 3) or calc(($height-message - 20) * 2 / 3)
More info and automated migrator: https://sass-lang.com/d/slash-div

    ╷
702 │                 line-height: ($height-message - 20) * 2/3;
    │                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ╵
    src\views\Screen\Screen.vue 702:30  root stylesheet
1
2
3
4
5
6
7
8
意思是 sass 不推荐直接使用 / 作除法运算,将在以后的版本中摒弃,请改用 math.div() 这种写法。
这也能理解,因为在 css 中已经存在使用 / 的情况,像 font 的缩写:

.title{
    font:italic bold 12px/30px Georgia, serif;
}
1
2
3
所以比如:

.item{
    width: $widthHole / 4;
}
1
2
3
在 dart-sass 中就需要改写为:

@use "sass:math";
.item{
    width: math.div($widthHole, 4);
}
1
2
3
4
使用 math.div() 需要在 scss 文件的开头引入 @use "sass:math";

scss 的具体使用方法,可以参见: https://kylebing.blog.csdn.net/article/details/89738636

六、结
这样,就可以正常使用 scss/sass 了
————————————————
版权声明:本文为CSDN博主「十月ooOO」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KimBing/article/details/123786839

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在运行命令`npm install`时,可能会遇到错误信息"Command failed",具体错误信息可能是`node-sass: Command failed.`。这个错误通常与`node-sass`模块有关。根据引用中的解决方法,你可以尝试执行以下命令来解决这个问题: 1. 首先,运行命令`npm uninstall node-sass`,这将卸载当前安装的`node-sass`模块。 2. 然后,运行命令`npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/`,这将重新安装`node-sass`模块,并使用淘宝镜像加速下载。 3. 最后,运行命令`npm install`,这将重新安装所有依赖。 通过执行上述命令,你可以尝试解决`node-sass: Command failed`错误。希望对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [安装vue项目依赖 node_modules目录 npm install (npm i) 时报错:ERR ***\node_modules\node-sass command ...](https://blog.csdn.net/weixin_45417815/article/details/121977354)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [package.json 封装 vue模块_vue仿小米商城 -- 我知道的都在这里了](https://blog.csdn.net/weixin_39521651/article/details/109916394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值