我在Expo IDE中遇到了这两个错误:
警告:您使用的是npm 5.6.0版。此版本可能存在错误,使用风险自负。我们建议使用4.6.1版本。
警告:package.json中的Expo版本与清单中的sdkVersion不匹配。
警告:“反应”同伴依赖缺失。在C:\ users \ matt \ sites \ rg-calendar中运行npm ls
以查看完整警告。
如果项目正在运行,请在C:\ users \ matt \ sites \ rg-calendar中运行npm install
并重新启动。
当我跑npm ls
时,我遇到了一大堆缺失的软件包,我正在运行npm install
,但我只是得到了未满足的依赖性错误。
我的app.json文件是:
{
"expo": {
"name": "RGUC",
"icon": "./img/calendarIcon.png",
"version": "1.0.0",
"slug": "rguc-calendar",
"sdkVersion": "21.0.0",
"ios": {
"bundleIdentifier": "com.rguc.calendar"
},
"android": {
"package": "com.rguc.calendar"
}
}
}
我的package.json中有相同的react-native
版本:
{
"name": "rgcalendar",
"version": "0.1.0",
"private": true,
"devDependencies": {
"babel-eslint": "^8.2.2",
"eslint": "^4.18.2",
"eslint-config-airbnb": "^16.1.0",
"eslint-plugin-import": "^2.9.0",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-react": "^7.7.0",
"flow-bin": "^0.69.0",
"jest-expo": "21.0.0",
"react-native-scripts": "1.8.1",
"react-test-renderer": "16.0.0"
},
"main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
"scripts": {
"start": "react-native-scripts start",
"eject": "react-native-scripts eject",
"android": "react-native-scripts android",
"ios": "react-native-scripts ios",
"test": "node node_modules/jest/bin/jest.js --watch",
"lint": "eslint --fix *.js",
"flow": "flow"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"expo": "^21.0.0",
"react": "16.0.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-21.0.2.tar.gz",
"react-native-calendars": "^1.16.1",
"react-native-fontawesome": "^5.7.0",
"react-native-vector-icons": "^4.5.0",
"react-navigation": "^1.0.3",
"react-navigation-redux-helpers": "^1.0.1",
"react-redux": "^5.0.6",
"redux": "^3.7.2",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.2.0"
}
}
我正在使用NVM:
9.5.0
* 8.10.0 (Currently using 64-bit executable)
6.11.1
4.6.1
4.4.0
如何发布我的世博项目?
答案 0 :(得分:0)
对于降级NPM,请使用以下命令:npm install -g npm@4
它将安装4.6.1(此刻)。
目前的世博会版本是26. Expo 21是基于react-native 0.48而反应16.0.0所以也许你有一些与那个版本不兼容的模块。
对于未满足的依赖项,请尝试以下操作:删除(或移动)node_modules
文件夹并运行npm install again
并尝试npm cache clean
。
也许upgrading your react versions也可以解决问题。
最后,对于发布,你可以使install the Expo XDE更容易。当然,首先你必须摆脱任何编译错误(而不是警告)才能发布你的世博项目。
答案 1 :(得分:0)
根据我的经验,我可以说npm 5.6.0版存在问题。使用npm 4.6.1,其完全稳定。您可以通过npm uninstall npm@5.6.0 && npm install npm@4.6.1
进行操作。之后,执行npm -v
以查看是否显示4.6.1或仍为5.6.0。如果可行,您将看到4.6.1而不是5.6.0。让我知道这是否可以解决您的问题。
要发布Expo项目,只需按照此链接中的步骤进行操作-> https://docs.expo.io/versions/v19.0.0/workflow/building-standalone-apps