Expo 36:无法解析“ node_modules / css-tree / lib / syntax / default.js”中的“ ../../data”

时间:2019-12-13 12:10:58

标签: expo react-native-svg

将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 个答案:

答案 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解决此问题。