【问题标题】:postcss-svgo: TypeError: Cannot set property 'multipassCount' of undefined (Gatsby)postcss-svgo:TypeError:无法设置未定义的属性“multipassCount”(盖茨比)
【发布时间】:2020-02-25 05:00:29
【问题描述】:

在 Gatsby 2.17.6 项目中,构建时:

构建生产 JavaScript 和 CSS 包 [====
] 1.940 s 1/6 17% 运行查询失败 构建生产 JavaScript 和 CSS 包 - 75.519s

错误 #98123 网页包

生成 JavaScript 包失败

postcss-svgo:TypeError:无法设置属性“multipassCount” 未定义

未完成运行查询 - 77.639s npm ERR!代码 ELIFECYCLE npm 错误! errno 1 npm 错误! gatsby-starter-default@1.0.0 构建:节点 node_modules/gatsby/dist/bin/gatsby.js build` npm ERR!退出状态 1

这些是我的一些依赖项:

"dependencies": {
    "babel-plugin-styled-components": "^1.8.0",
    :
    "gatsby": "^2.0.19",
    "gatsby-plugin-favicon": "^3.1.4",
    "gatsby-plugin-google-fonts": "0.0.4",
    "gatsby-plugin-offline": "^2.0.5",
    "gatsby-plugin-react-helmet": "^3.0.0",
    "gatsby-plugin-styled-components": "^3.0.1",
    :
    "react": "^16.5.1",
    "react-dom": "^16.5.1",
    "react-helmet": "^5.2.0",
    "react-leaflet": "^2.1.1",
    "styled-components": "^4.1.1"
  }

我在 gatsby-config.js 上没有看到任何关于 postcss 的配置,我猜这是 Gatsby 的默认行为。 npm ls postcss-svgo 抛出这个:

gatsby-starter-default@1.0.0 /<app>/source
└─┬ gatsby@2.17.6
  └─┬ optimize-css-assets-webpack-plugin@5.0.3
    └─┬ cssnano@4.1.10
      └─┬ cssnano-preset-default@4.0.7
        └── postcss-svgo@4.0.2 

如果这是一个解决方案,我不介意禁用 postcss-svgo,但我不知道如何。

【问题讨论】:

  • 我遇到了同样的错误,通过 react-scripts@3.2.03.0.1 作为我项目的依赖项进入,也在节点 8 上。

标签: node.js webpack redhat gatsby postcss


【解决方案1】:

我的项目解决了,使用npm install svgo@1.3.0 -E,详情见:https://github.com/svg/svgo/issues/1174

【讨论】:

    【解决方案2】:

    "resolutions": { "svgo": "1.3.0" }

    将上述内容添加到您的“package.json”,然后rm -rf node_modules 以删除“node_modules”,然后再次重新安装“node_modules”。

    这将解决问题。 此问题与最新版本的 postcss-svgo 有关。

    【讨论】:

    • 解析只能用yarn。事实上,当我使用 yarn 而不是 npm(没有解决方案)时,问题就消失了......
    【解决方案3】:

    svgo 1.3.2 版本已经发布,this bug is suposed to be fixed

    因此,删除您的 node_modules 目录和 package-lock.json 文件并创建一个新的 npm installyarn install

    就足够了

    无论如何,感谢其他用户建议将 svgo 回滚到 1.3.0

    【讨论】:

      【解决方案4】:

      有效。

      • $ npm install -g svgo
      • 删除 node_modules 和 package-lock.json
      • $ npm 安装
      • 构建项目

      【讨论】:

      • 在这里进行全局安装真的不是个好主意
      猜你喜欢
      • 2018-12-27
      • 2022-08-15
      • 2021-04-09
      • 2021-01-08
      • 2020-02-03
      • 2022-01-21
      • 2021-11-27
      • 2020-03-16
      相关资源
      最近更新 更多