将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
依赖项来应用临时修复程序,但是据我所知,这确实是一种错误的方法。
有什么想法吗?
答案 0 :(得分:2)
我找到了一种解决方法,您只需要在项目中安装css-tree软件包即可。
npm install css-tree
或者如果您使用的是纱线
yarn add css-tree
答案 1 :(得分:1)
从SDK 38开始,此问题仍然出现,并且似乎是由版本解析问题引起的,其中Yarn / NPM将1.0.0-alpha9
理解为比1.0.0-alpha.37
更新(这是{ {1}}。
按以下方式使用react-native-svg-transformer
与纱2或纱1的替代对我来说是固定的,而无需其他调整。
resolutions
"resolutions": {
"css-tree": "1.0.0-alpha.39"
}
答案 2 :(得分:0)
我需要使用react-native-svg-icon
遇到完全相同的问题。
我也正在运行Expo SDK v36,当它建议我通过cli安装{-{1}}时,这就是我所做的;这种方法有很多错误,最明显的是当您使用expo install react-native-svg
(对于较新版本的软件包)并且“ expo”有时无法正确安装package.json,因此我发现安装了相同版本的react-native- svg w / o expo cli是最好的方法。
尝试运行此import { Circle } from 'react-native-svg'
为我修复了。
答案 3 :(得分:0)
使用MS App Center构建我的应用程序时发生了此问题,使用行if [ -f yarn.lock ]; then { yarn install && yarn list --depth=0; } else npm install; fi
在项目中的旧yarn.lock文件中拾取了App Center构建脚本,但是我通常使用npm而不是Yarn
删除此文件使构建版本可以使用npm解决此问题。