7

将 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以确保缓存不会影响它。我试图从模拟器中删除应用程序。还是一样。

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

有任何想法吗?

4

4 回答 4

1

从 SDK 38 开始,这个问题仍然出现,并且似乎是由 Yarn/NPM 理解1.0.0-alpha9为较新的版本解析问题引起的1.0.0-alpha.37(这是 的最低要求react-native-svg-transformer)。

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

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

"resolutions": {
    "**/css-tree": "1.0.0-alpha.39"
}
于 2020-09-08T09:37:21.960 回答
1

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

npm install css-tree

或者如果你使用纱线

yarn add css-tree

于 2020-05-08T08:19:10.147 回答
0

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

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

于 2020-08-28T16:14:35.610 回答
0

我需要使用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

为我修好了。

于 2020-03-12T10:42:59.683 回答