我看到一个注释here,但我不想在全球范围内安装expo-cli。我希望我的项目的包是由package.json指定的。这样,当它被共享时,没有人需要做任何其他额外的配置。我的package.json是:
{
"name": "my-new-project",
"main": "node_modules/expo/AppEntry.js",
"private": true,
"scripts": {
"start": "expo start",
"upgrade": "expo upgrade",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject",
"test": "node ./node_modules/jest/bin/jest.js --watchAll"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@expo/samples": "2.1.1",
"expo": "^31.0.2",
"expo-cli": "^3.22.3",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz",
"react-navigation": "^2.18.2"
},
"devDependencies": {
"babel-preset-expo": "^5.0.0",
"jest-expo": "^31.0.0"
}
}
这是我的app.json
{
"expo": {
"name": "stuff",
"description": "A very interesting project.",
"slug": "stuff",
"privacy": "public",
"sdkVersion": "31.0.0",
"platforms": ["ios", "android"],
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"splash": {
"image": "./assets/images/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true
}
}
}

发布于 2020-07-27 08:49:34
好了,在这上面花了无数个小时之后,它就被修复了。我基本上只是按照要求做了,并将expo更改为35.0.0,并将react-native指向sdk-35.0.0.tar.gz。在app.json中也将版本更改为35.0.0
发布于 2021-05-03 22:35:32
试试这个
expo upgrade或者,您可以在具有说明https://blog.expo.io/expo-sdk-38-is-now-available-ab6cd30ca2ee的单独页面中找到https://docs.expo.io/workflow/upgrading-expo-sdk-walkthrough/的版本文档
低于37.0.0支持
expo update 35.0.0这段代码
https://stackoverflow.com/questions/63107255
复制相似问题