【问题标题】:Expo 36: Unable to resolve "../../data" from "node_modules/css-tree/lib/syntax/default.js"Expo 36:无法从“node_modules/css-tree/lib/syntax/default.js”解析“../../data”
【发布时间】:2019-12-13 12:10:58
【问题描述】:

将 expo 35 升级到 36 后出现此错误。

Unable to resolve "../../data" from "node_modules/css-tree/lib/syntax/default.js"

我试过yarn add css-tree。此错误已消失,但随后模块 react-native-svg 开始给出与包含 css-tree 模块相同的错误。

我已尝试将expo-cli 升级到最新版本并重新启动终端。我正在使用expo start -c 运行构建以确保缓存不会影响它。我试图从模拟器中删除应用程序。还是一样。

我已经能够通过升级 react-native-svg 中的 css-tree 依赖项来应用临时修复,但据我所知,这是一种非常错误的方法。

有什么想法吗?

【问题讨论】:

    标签: expo react-native-svg


    【解决方案1】:

    我找到了解决方法,你只需要在你的项目上安装 css-tree 包。

    npm install css-tree

    或者如果你正在使用纱线

    yarn add css-tree

    【讨论】:

      【解决方案2】:

      从 SDK 38 开始,此问题仍然存在,并且似乎是由版本解析问题引起的,其中 Yarn/NPM 将 1.0.0-alpha9 理解为比 1.0.0-alpha.37 更新(这是 react-native-svg-transformer 的最低要求)。

      使用 resolutions 覆盖 Yarn 2 或 Yarn 1,如下所示为我修复了它,没有其他额外的调整。

      "resolutions": {
          "css-tree": "1.0.0-alpha.39"
      }
      

      "resolutions": {
          "**/css-tree": "1.0.0-alpha.39"
      }
      

      【讨论】:

        【解决方案3】:

        我需要使用react-native-svg-icon 遇到了完全相同的问题。

        我也在运行 Expo SDK v36,当它建议我通过 cli 安装 react-native-svg 时:expo install react-native-svg,这就是我所做的;这种方法最明显的错误是当您使用 import { Circle } from 'react-native-svg' (对于较新版本的软件包)并且“expo”有时无法正确安装 package.json 所以我发现安装相同版本的 react-native-svg w /o expo cli 是最好的方法。

        尝试运行这个npm i react-native-svg@9.13.3

        帮我修好了。

        【讨论】:

          【解决方案4】:

          我在使用 MS App Center 构建我的应用程序时发生了这个问题,App Center 构建脚本使用 if [ -f yarn.lock ]; then { yarn install && yarn list --depth=0; } else npm install; fi 行在项目中的旧 yarn.lock 文件上拾取,但是我通常使用 npm 而不是 Yarn。

          删除此文件允许构建使用解决此问题的 npm。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-03-07
            • 2019-09-09
            • 1970-01-01
            • 2018-11-18
            • 1970-01-01
            • 1970-01-01
            • 2019-12-14
            • 2021-04-15
            相关资源
            最近更新 更多