react-native run-ios无法工作

11

我有一个React Native的iOS应用,之前一直工作正常。但是突然间,它只能在Xcode中运行,不能使用终端命令运行。

react-native run-ios
react-native run-ios --device

这两个命令在根目录下都无法正常运行,我尝试删除 node_modules 文件夹并执行以下命令:

npm install; react-native link;

很遗憾,它没有起作用,这是我的日志:

在此输入图片描述 在此输入图片描述 在此输入图片描述

有没有帮助!


你在哪个文件夹里? - Julien Kode
你能给我展示一下 ls 和 pwd 吗? - Julien Kode
@JulienKode 我在根目录,我通过ls命令更新了问题。 - Hazem Hagrass
4个回答

14

看起来你缺少很多库,由于某些原因未下载,建议你删除所有可下载的库,然后重新开始:

  • 删除node_modules/文件夹
    • 删除ios/Pods文件夹
    • 删除ios/build文件夹
    • 运行:npm install
  • 运行:cd ios; pod install; cd../
  • 运行:react-native link

就是这样


在项目目录中找不到 `Podfile'。当我运行 "pod install" 时,会出现这个问题。 - Vivek Pratap Singh

4
我通过升级Node版本解决了这个问题。
brew upgrade node

在终端中输入以下命令。


它是 $brew upgrade node。 - Ajay Singh Thakur
这是 brew upgrade nodebrew update 不需要包名称,只用于更新 brew 本身。 - der_michael
在我的情况下,我不得不将Node降级到版本8才能处理一些遗留的Angular应用程序。我使用nvm升级回最新版本的Node。 - RommelTJ

1

可能有各种原因,我的情况是由于使用的某些库,我能通过改变“Build Active Architecture”选项找到解决方案。

将目标->构建设置->仅构建活动架构选项对应应用程序和Pods目标(对于调试和发布)都设置为是,则可使react native在命令行中运行,而将上述选项设置为否则可使它们与Xcode一起工作。


1
答案应该是一种评论。它并没有提供实际的解决方案,而只是指出了问题所可能的原因。 - gabriel_vincent
1
实际上,这提出了我的情况可能存在的问题和解决方案,而以上回答中没有列出。如有不清楚之处,我已编辑了答案。 - Kaustubh

0

我能够按照这里的指示 facebook/watchman#376 让它正常工作:

sudo launchctl unload -F ~root/Library/LaunchAgents/com.github.facebook.watchman.plist

我对Watchman的了解不够,无法理解为什么它会作为服务运行。但是它仍然可以正常工作。

或者

卸载并重新安装Watchman解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接