You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue2迁移Vue3升级Node.js v18后npm install报错求助

Node.js 18下Vue迁移时npm install报错的解决办法

首选方案:换掉node-sass(彻底解决)

node-sass早就停止维护了,和Node18兼容性极差,还强制依赖Python2,直接换成官方推荐的dart-sass就行,完全兼容scss写法:

  • 先卸载旧的node-sass:npm uninstall node-sass
  • 安装dart-sass(当前包名为sass):npm install sass --save-dev
  • 打开vue.config.js,如果里面配置了sass-loader的implementation,改成指向sass:
    module.exports = {
      css: {
        loaderOptions: {
          sass: {
            implementation: require('sass')
          }
        }
      }
    }
    

临时过渡方案:适配node-sass与Node18(不推荐)

如果暂时不想替换依赖,就得解决Python依赖问题:

  • 必须安装Python 2.7(node-sass不支持Python3),装好后把Python路径添加到系统环境变量PATH中
  • 给npm指定Python路径:Windows系统执行npm config set python C:\Python27\python.exe,Mac/Linux执行npm config set python /usr/bin/python2.7
  • 安装Node18兼容的node-sass版本(需7.0.0及以上):npm install node-sass@7.0.0 --save-dev

版本隔离方案:用nvm切换Node版本

如果项目需要在新旧Node版本间来回切换,用nvm最方便:

  • 安装nvm后,在项目根目录创建.nvmrc文件,写入之前能正常运行的旧Node版本号(比如v16.20.0)
  • 打开终端执行nvm use,自动切换到指定版本,再运行npm install即可正常执行

关于依赖弃用警告

大量警告是因为旧依赖不支持Node18,建议:

  • 优先升级Vue相关依赖(vue-cli、vue-router、vuex等)到支持Node18的版本
  • 逐步替换package.json中已弃用的包,比如将旧版vue-cli替换为@vue/cli-service

内容的提问来源于stack exchange,提问作者Rajasekar Gunasekaran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 21:06:03