npm 错误!如何使用 vue@2.6.14 安装满足对等依赖的编译器-sfc?

Posted

技术标签:

【中文标题】npm 错误!如何使用 vue@2.6.14 安装满足对等依赖的编译器-sfc?【英文标题】:npm ERR! How to install compiler-sfc that meets peer dependency with vue@2.6.14? 【发布时间】:2021-08-24 12:01:12 【问题描述】:

我的包JSON

"devDependencies": 
        "@fortawesome/fontawesome-svg-core": "^1.2.35",
        "@fortawesome/free-solid-svg-icons": "^5.15.3",
        "@vue/compiler-sfc": "^3.0.11",
        "axios": "^0.21",
        "bootstrap": "^4.0.0",
        "install": "^0.13.0",
        "jquery": "^3.2",
        "laravel-mix": "^6.0.19",
        "lodash": "^4.17.19",
        "popper.js": "^1.12",
        "postcss": "^8.3.0",
        "resolve-url-loader": "^3.1.3",
        "sass": "^1.34.1",
        "sass-loader": "^8.0.0",
        "vue": "^2.6.14",
        "vue-izitoast": "^1.2.1",
        "vue-loader": "^15.9.5",
        "vue-template-compiler": "^2.6.14"
    

当我查看npm list vue

`-- UNMET PEER DEPENDENCY vue@2.6.14

npm ERR! peer dep missing: vue@3.0.11, required by @vue/compiler-sfc@3.0.11

如何安装满足对等依赖的compiler-sfcvue@2.6.14?我不想将 vue 更新到 3。

【问题讨论】:

没有vue 2.6.14版本,要不要用vue 3? 那么,为什么我的 npm list vue 显示 vue@2.6.14 呢?有没有匹配2.5.17的版本? @BoussadjraBrahim 你是什么意思? 2.6.14 was released yesterday. 【参考方案1】:

这听起来有点像 XY Problem,因为 @vue/compiler-sfc 包是为与 Vue 3 一起使用而创建的,就像错误所说的那样,has Vue 3 as a peer dependency。

这意味着它与 Vue 2 不兼容,因此如果不升级到 Vue 3 就无法使用它。

更大的问题是——你认为你为什么需要这个包?@vue/compiler-sfc 是一组“用于编译 Vue 单文件组件的低级实用程序”:

如果您正在为将 Vue 单文件组件 (SFC) 编译为 javascript 的捆绑器或模块系统编写插件/转换,则此软件包包含较低级别的实用程序。用于vue-loader、rollup-plugin-vue、vite。

根据您给定的软件包列表,我认为您不是在编写捆绑程序或模块系统,所以我的建议是放弃这种依赖关系。

【讨论】:

没错,我认为这将是我的问题的解决方案。 感谢您的回复。我的实际问题是 markdown-it-prism package 导入。导入后,npm run watch 会导致错误。我稍后会创建一个新问题。

以上是关于npm 错误!如何使用 vue@2.6.14 安装满足对等依赖的编译器-sfc?的主要内容,如果未能解决你的问题,请参考以下文章

在项目中更改 vue 版本

如何修复 npm 无法全局安装 typescript 错误

如何修复 Vuetify 安装 npm 错误 E404

如何安装 NPM 拒绝安装的依赖项?

如何在没有 sudo 的情况下修复 npm 抛出错误

如何从 npm 安装 vue cli 而不会出现任何错误?