node版本升级:与node-sass、sass-loader版本不兼容问题以及npm install时报错问题解决方法

升级了下node版本,更新为v16.16.0,跑原来的项目,各种依赖不兼容错误,搜了很多解决方法,试了都无效,参考2篇文章解决了问题,在此记录一下。

1.node 版本与node-sass、sass-loader版本不兼容问题

报错:Node Sass version 7.0.1 is incompatible with ^4.0.0.

参考博文:node16.0版本 对应node-sass sass-loader 各个版本号

亲测 node v16.16.0 版本配置以下node-sass和sass-loader版本,项目可以正常运行。

"node-sass": "^6.0.1",
"sass-loader": "^10.0.1",

附npm官网:nodejs和node-sass关系对照表  

具体步骤:

方法1(修改node-sass版本):

cnpm uninstall node-sass
cnpm install node-sass@6.0.1

方法2(全部删除重装):

(1)删除项目原node_modules文件

(2)将package.json文件中的node-sass和sass-loader版本改为与Node对应的版本(node v16.16.0对应的版本即"node-sass": "^6.0.1","sass-loader": "^10.0.1")

(3)npm install

2.npm install 时报错 run `npm audit fix` to fix them, or `npm audit` for details

因为更新了Node版本,提示更新npm版本,便把npm版本也更新了下,npm新版本为8.15.0。

npm install 时报错:run `npm audit fix` to fix them, or `npm audit` for details

参考博文:npm安装时出现run `npm audit fix` to fix them, or `npm audit` for details彻底解决的办法

删除项目中node_modules 目录并执行以下命令即可: 

npm install --no-fund --no-audit
  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【用于解决 failed Error: not found: python2 node-sass报错信息如下: ``` npm WARN prefer global node[email protected] should be installed with -g > node-sass@4.5.2 install E:\workspace_vscode\ww\node_modules\node-sass > node scripts/install.js Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5 .2/win32-x64-48_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.2/win3 2-x64-48_binding.node": connect ETIMEDOUT 54.231.72.83:443 Timed out whilst downloading the prebuilt binary Hint: If github.com is not accessible in your location try setting a proxy via HTTP_PROXY, e.g. export HTTP_PROXY=http://example.com:1234 or configure npm proxy via npm config set proxy http://example.com:8080 > node-sass@4.5.2 postinstall E:\workspace_vscode\ww\node_modules\node-sass > node scripts/build.js gyp verb check python checking for Python executable "python2" in the PATH gyp verb `which` failed Error: not found: python2 gyp verb `which` failed at getNotFoundError ``` 这个问题有两个解决方案 1. 按照提示需要 python2 环境,安装python2环境确实可以解决, 网上好多这种(管理员身份执行)。但是当你本来就有python环境,环境变量不能自动替换,整起来就很麻烦。 ``` npm install --global --production windows-build-tools ``` 2. 第二种解决方案 ,看另一句报错,资源被墙。 ``` Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.2/win32-x64-48_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.2/win32-x64-48_binding.node": ``` 下载此资源即可。下载后需要设置变量路径,防止它再次去下载。 可以设置环境变量 直接右键我的电脑--》属性--》高级系统设置--》环境变量--》添加 或者执行 ``` set SASS_BINARY_PATH=D:\nodejs\tools\node-sass\win32-x64-46_binding.node ``` 再次执行 npm install 成功
### 回答1: 对于Node.js版本16.16.0,建议使用以下版本node-sasssass-loader: - node-sass: ^5.0.0 - sass-loader: ^10.0.0 请注意,如果您使用的是Webpack 4或更早版本,则需要使用sass-loader v9.x。如果您使用的是Webpack 5,则应该升级到sass-loader v10.x。 当然,具体要使用哪个版本还要根据您的项目需求来确定,这只是一个建议版本。 ### 回答2: Node.js版本16.16.0 对应node-sasssass-loader 版本如下: 对于 node-sass,需要使用 npm 包管理工具进行安装,并且需要在 package.json 文件中声明依赖。在 Node.js v16.16.0 上,node-sass版本应该是 v4.14.1(可能会有一些微小变化,因此建议查看 npm 上最新的版本)。你可以使用以下命令来安装特定版本node-sass: ``` npm install node-sass@4.14.1 ``` 对于 sass-loader,也需要使用 npm 进行安装,并在 package.json 文件中添加依赖。sass-loader版本node-sass 版本有关联,因此版本号应该是相对应的。在 Node.js v16.16.0 上,sass-loader版本应该与 node-sass 版本相匹配,即 v10.1.1(也可以参考 npm 上的最新版本)。你可以使用以下命令安装特定版本sass-loader: ``` npm install sass-loader@10.1.1 ``` 请注意,以上版本号仅作为示例,如果需要其他特定版本,请查看官方文档或 npm 上的最新版本。另外,可以根据项目需求,在 package.json 文件中进行相应的版本声明和安装。 ### 回答3: node-sass是一个Node.js模块,提供了Sass的本地绑定。它允许将Sass文件编译为CSS文件。而sass-loader是一个webpack的loader,用于将Sass文件转换为CSS并导入到webpack构建中。 在查阅相关文档后,我了解到node16.16.0对应node-sass版本应为6.0.1,而sass-loader版本则需根据具体使用的webpack版本来确定。一般来说,较新版本sass-loader会兼容较新版本的webpack。以下是常见的sass-loader版本对应的webpack版本: - sass-loader v10.x.x:兼容webpack v4.x.x和webpack v5.x.x - sass-loader v12.x.x:兼容webpack v5.x.x和webpack v6.x.x 所以,如果你的node版本为16.16.0,可以采用node-sass@6.0.1和sass-loader@10.x.x或sass-loader@12.x.x来搭配使用。当然,具体选择哪个版本还需结合你的构建环境和相关依赖的兼容性进行考量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值