世博会 36:无法解决"node_modules/css-tree/lib/syntax/default.js" "../../data"



将世博会 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但据我所知,这是一种非常错误的方法。

有什么想法吗?

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

npm install css-tree

或者如果您使用的是纱线

yarn add css-tree

截至 SDK 38 时,此问题仍然存在,似乎是由版本解析问题引起的,其中 Yarn/NPM 认为1.0.0-alpha91.0.0-alpha.37更新(这是react-native-svg-transformer的最低要求(。

按如下方式使用 Yarn 2 或 Yarn 1 的resolutions覆盖为我修复了它,无需其他额外的调整。

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

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

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

为我修复了它。

使用 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 来解决此问题。

最新更新