世博会 SDK 44 升级错误 - "expo-cli upgrade"



我想将expo从我目前使用的SDK 44升级到最新版本- SDK 47。我的npm版本是8.19.2,node版本是16.18.2。

当我尝试运行命令:expo-cli upgrade时,我得到以下错误:

✖ Failed to install expo package with error: npm exited with non-zero code: 1
npm exited with non-zero code: 1
Error: npm exited with non-zero code: 1
at ChildProcess.completionListener (/Users/abcd/.nvm/versions/node/v16.18.0/lib/node_modules/expo-cli/node_modules/@expo/spawn-async/src/spawnAsync.ts:65:13)
at Object.onceWrapper (node:events:628:26)
at ChildProcess.emit (node:events:513:28)
at maybeClose (node:internal/child_process:1100:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
...
at spawnAsync (/Users/abcd/.nvm/versions/node/v16.18.0/lib/node_modules/expo-cli/node_modules/@expo/spawn-async/src/spawnAsync.ts:26:19)
at NpmPackageManager._runAsync (/Users/abcd/.nvm/versions/node/v16.18.0/lib/node_modules/expo-cli/node_modules/@expo/package-manager/src/NodePackageManagers.ts:166:31)
at NpmPackageManager.installAsync (/Users/abcd/.nvm/versions/node/v16.18.0/lib/node_modules/expo-cli/node_modules/@expo/package-manager/src/NodePackageManagers.ts:82:16)
at NpmPackageManager.addWithParametersAsync (/Users/abcd/.nvm/versions/node/v16.18.0/lib/node_modules/expo-cli/node_modules/@expo/package-manager/src/NodePackageManagers.ts:96:18)
at NpmPackageManager.addAsync (/Users/abcd/.nvm/versions/node/v16.18.0/lib/node_modules/expo-cli/node_modules/@expo/package-manager/src/NodePackageManagers.ts:109:5)
at upgradeAsync (/Users/abcd/.nvm/versions/node/v16.18.0/lib/node_modules/expo-cli/src/commands/info/upgradeAsync.ts:496:7)
at actionAsync (/Users/abcd/.nvm/versions/node/v16.18.0/lib/node_modules/expo-cli/src/commands/info/upgradeAsync.ts:42:3)

在网上看了一些后,我试着删除"package.lock.json"。但我不知道为什么它会工作,因为它没有。

我还检查了"babel-preset-expo",它被设置为9.0.2,因为它应该是另一篇文章。

如果这里有人能帮我解决这个问题就太好了。谢谢!

我在从SDK 44升级到node v16.4.0时遇到了同样的问题。更改到v14.17.6或v19.1.0进行了"博览会升级";命令工作正常。这些都是例子,我相信它与其他版本的工作,只是自己测试。你可以在这个链接上找到节点版本:https://nodejs.org/dist/index.json

如果您出于某种原因不想更改节点版本,那么我没有解决方案。我目前正在这种情况下寻找解决方案…

最新更新