将react-native app发布到expo.io时出现“ResourceNotFoundError”

问题描述 投票:0回答:2

我有两个我正在尝试发布的移动应用程序。第一个很容易:

$ expo publish

然而,第二个向我显示一个我无法理解的错误:

$ cd ~/sites/cvoeo-app
$ expo publish
There is a new version of expo-cli available (2.6.0).
You are currently using expo-cli 2.2.4
Run `npm install -g expo-cli` to get the latest version
[12:59:51] Publishing to channel 'default'...
[12:59:54] Building iOS bundle
[12:59:54] 404 - "{\"type\":\"ResourceNotFoundError\",\"errors\":[],\"message\":\"The resource `/Users/micah/sites/fun-food-friends/node_modules/expo/AppEntry.js` was not found.\"}"
[12:59:54] StatusCodeError: 404 - "{\"type\":\"ResourceNotFoundError\",\"errors\":[],\"message\":\"The resource `/Users/micah/sites/fun-food-friends/node_modules/expo/AppEntry.js` was not found.\"}"
    at new StatusCodeError (/Users/micah/.config/yarn/global/node_modules/request-promise-core/lib/errors.js:32:15)
    at Request.plumbing.callback (/Users/micah/.config/yarn/global/node_modules/request-promise-core/lib/plumbing.js:104:33)
    at Request.RP$callback [as _callback] (/Users/micah/.config/yarn/global/node_modules/request-promise-core/lib/plumbing.js:46:31)
    at Request.self.callback (/Users/micah/.config/yarn/global/node_modules/request/request.js:185:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (/Users/micah/.config/yarn/global/node_modules/request/request.js:1161:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (/Users/micah/.config/yarn/global/node_modules/request/request.js:1083:12)

我正在尝试发布的应用是我的“cvoeo-app”。

但是,调试消息显示,expo正在抱怨一个完全不同的项目 - “fun-food-friends”应用程序缺少资源。我不小心在这个目录中创建了一个react本机应用程序,将其删除,并在那里重新创建了一个具有相同名称的React JS应用程序。

我并不惊讶世博会找不到有趣的食物朋友文件 - 但我很惊讶世博会甚至试图寻找它。为什么要在完全不同的目录树和项目中寻找资源?

react-native expo
2个回答
0
投票

我不知道问题是什么,但解决方案有点简单:

$ rm -rf node_modules/ package-lock.json yarn.lock
$ npm install

之后,我能够毫无困难地发布到世博会。


0
投票

React native在单独的终端窗口中运行服务器。

由于您运行上一个应用程序并且在运行上一个应用程序时没有关闭打开的终端窗口,因此当您运行新应用程序时,react-native没有打开新的终端窗口来创建新服务器(因为已经运行了一个)并且您设备上的新应用仍在与正在尝试为旧的已删除应用提供服务的旧服务器进行通信。

因此,您收到“ResourceNotFound”错误。

解决方案就是关闭旧终端并再次运行新应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.