node-sass踩坑

515 阅读1分钟

前言

最近在使用 Node.js 开发项目的过程中遇到了一些问题。我卸载了之前的 Node.js,重新安装了 nvm 并配置好后,运行项目时发现无法找到 npm 模块和 node。我试着删除了 node_modules 文件夹,结果无论怎样切换 Node.js 的版本,下载的包都无法运行起来,并且一直报错,而这些问题都和 node-sass 有关。

出现的问题大概长下面这样:

missing binding XXXXXXXXX
Error: Cannot find module 'XXXXX'
# 宗旨会让你重新 npm rebuild node-sass 可以试试有用否

image.png image.png

正好这几天 cnpm 完全没反应,所以我也无法再使用 cnpm i node-sass 来安装了。

解决方法

有以下两种解决方法:

1.

使用以下命令来重建 node-sass 模块:

npm rebuild node-sass

2.

先重新安装 node_modules 并检查是否存在 node-sass 模块:

npm install

Snipaste_2023-12-14_09-14-11.png

由于 cnpm 和淘宝镜像在这个时间段内都无法使用,您可以尝试使用其他源来下载 node-sass 模块,例如:

npm config set registry http://mirrors.cloud.tencent.com/npm/
npm install

您也可以尝试连接其他镜像源:

-   淘宝镜像源:
        https://registry.npmmirror.com
        https://registry.npm.taobao.org
-   腾讯云镜像源:
        http://mirrors.cloud.tencent.com/npm/
-   华为云镜像源:
        https://mirrors.huaweicloud.com/repository/npm/
-   官方默认全局镜像:
        https://registry.npmjs.org

接下来需要从 GitHub 上下载

对应版本的  binding.node  文件,并将其放到  node_modules\node-sass\vendor\win32-x64-xx  目录下

image.png 我项目的node-sass在package.json中是^4.12.0往上的所以在这里找,我之前node在12和14中切换,所以决定node14然后用这个版本的node-sass

image.png 直接翻到资源的最下方,我下载了 win32-x64-83_binding.node

将下载的 win32-x64-83_binding.node 文件,重命名为 binding.node 并将其放入到 node-sass\vendor\win32-x64-83 目录下。

image.png

然后npm run起来!