【问题标题】:How can I resolve the webpack "unmet peer dependency" warning for my create-react-app package?如何解决我的 create-react-app 包的 webpack“未满足对等依赖项”警告?
【发布时间】:2019-05-09 22:30:47
【问题描述】:

create-react-app (CRA) 是一个命令行工具,可帮助您设置新的 React 应用程序。它会创建一个 package.json,其中包含一个 react-scripts 依赖项。

react-scripts 包有一个webpack 依赖项(当前版本为4.19.1。)

craco 是一个可以轻松配置create-react-app 的库。

我发布了一个craco-less 包,它是一个craco 插件。它可以轻松设置对create-react-app 的较少支持。 craco-less 依赖项包括 css-loaderstyle-loader 包,这些 包的 peerDependencies 中有 webpack@^4.0.0

当我安装 craco-less 软件包 (yarn add craco-less) 时,我收到以下警告:

warning "craco-less > css-loader@1.0.1" has unmet peer dependency "webpack@^4.0.0".
warning "craco-less > less-loader@4.1.0" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".

我尝试将此添加到我的package.json

"peerDependencies": {
  "webpack": "^4.0.0"
}

但这只是给了我一个额外的警告:

warning "craco-less > css-loader@1.0.1" has unmet peer dependency "webpack@^4.0.0".
warning "craco-less > less-loader@4.1.0" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".
warning " > craco-less@1.2.2" has unmet peer dependency "webpack@^4.0.0".

我还尝试将 webpack 添加为显式依赖项,这在 90% 的情况下都有效,但有时会导致 create-react-app 崩溃并出现 in this GitHub issue 描述的错误:

(似乎只发生在npm install,而不是yarn install。)

我刚刚意识到这个错误的发生是因为react-scripts 依赖于特定的 webpack 版本,而我的包具有松散的依赖关系 (^4.0.0)。但我本以为 react-scripts 依赖项会覆盖这个松散的版本约束并安装 4.19.1 而不是最新版本 (4.27.1)。我认为这就是它使用yarn 而不是npm 的原因,因为也许yarn 具有更智能的依赖解析。

我的库依赖于"react-scripts": "^2.1.1"(灵活),所以我想知道是否有办法委托他们的webpack 依赖而不是安装最新版本?

4.19.1 指定为硬编码版本会很痛苦,因为每当他们更新react-scripts 包时,我都必须一直更新craco-less 库。或者,如果无法在 package.json 中完成,也许我可以编写一个脚本来自动执行这些更新。

谢谢!

【问题讨论】:

    标签: node.js reactjs npm webpack dependencies


    【解决方案1】:

    这里也是同样的问题。如果一些开发人员在这方面投入了相当多的时间,我们最终切换到了 Yarn。 Jenkins 需要进行一些调整:

    构建环境:

    Provide Node & npm bin/ folder to PATH
    
    NodeJS Installation: 8.10 
    

    版本>8

    Exe Shell 前言:

    curl -o- -L https://yarnpkg.com/install.sh | bash -s
    export PATH=$HOME/.yarn/bin:$PATH
    
    yarn install
    yarn run build
    

    【讨论】:

      【解决方案2】:
      yarn upgrade webpack@^4.0.0
      

      Reference

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多