【问题标题】:React native error - react-native-xcode.sh: line 45: react-native: command not found Command /bin/sh failed with exit code 127反应本机错误 - react-native-xcode.sh:第 45 行:react-native:找不到命令 命令 /bin/sh 失败,退出代码 127
【发布时间】:2015-11-11 12:17:57
【问题描述】:

我在尝试构建任何(新的或旧的)项目时收到此错误。 我的节点是 4.2.1 版本,react-native 是 0.1.7 版本。 我看过其他有同样问题的人,所以我将 react-native 更新到了最新版本,但是我仍然无法通过 xcode 构建任何项目。

【问题讨论】:

  • 您是否使用npm install -g react-native-cli 安装了 React Native CLI?您的全局 node_modules 目录是否在 shell 会话中的 PATH 中?
  • 这里有同样的问题。使用 oh my zsh 进行路径设置。运行 which react-native 显示:/Users/kevin/.node/bin/ 将其添加到 bash_profile 和 zsh 配置文件中。有任何想法吗?是否可以直接将其添加到 xcode 项目中?或者有没有办法从项目文件夹中作为本地 dep 拉取?
  • 看看这里github.com/facebook/react-native/issues/…,我通过将 node/react-native 二进制文件符号链接到 /bin/ 解决了这个问题

标签: ios node.js xcode react-native


【解决方案1】:

如果您使用的是 RN 0.46 或更高版本:

Facebook 进行了重大更改:脚本的位置已更改,更多详细信息here

我能够通过以下方式解决此错误:

  • 在 XCode 中打开项目
  • 导航到Build Phases > Bundle React Native code and images
  • export NODE_BINARY=node ../node_modules/react-native/packager/react-native-xcode.sh 更改为export NODE_BINARY=node ../node_modules/react-native/scripts/react-native-xcode.sh

注意packager 现在是scripts,这是该文件在最新版本的 RN 中实际存在的位置

【讨论】:

  • 这为我们解决了问题,谢谢!对于那些试图通过网络搜索找到这个的人,我的确切错误消息是:Script-00DD1BFF1BD5951E006B06BC.sh: line 3: ../node_modules/react-native/packager/react-native-xcode.sh: No such file or directory * * 构建失败 **
  • 这对我来说是固定的。应该被选为最佳答案。
  • 你节省了我的时间。我没修好几天
【解决方案2】:

要解决此问题,请使用以下步骤:

  • 使用节点版本v4.2.1
  • cd 到 [你的应用]/node_modules/react-native/packager
  • $sh ./packager.sh(由于某种原因运行良好)
  • 进入 XCode 并转到 Build Phases 选项卡。 删除列表中的最后一项(运行脚本的项)。因此,您只剩下目标依赖项、编译源、将二进制文件与库链接以及复制捆绑资源。

现在点击 XCode 中的构建。由于 shell 脚本不再是 XCode 构建例程的一部分,它不应该失败。如果你在另一个终端窗口中运行 react native 客户端服务器,那么一切都应该运行良好。

【讨论】:

  • 您好,能否详细解释一下“构建阶段选项卡”是什么?干杯。
  • Xcode 的中心部分有 7 个选项 -> 常规、功能、资源标签、信息、构建设置、构建阶段和构建规则。选择构建阶段并继续:)
  • 我可以确认这是可行的。只要确保每次工作时都运行 packager.sh。
  • 我的 react-native 文件夹中没有打包器
  • @Pikachu-go 我在 RN0.46 中看到这些东西被移到了脚本文件夹
【解决方案3】:

只需改变

../node_modules/react-native/packager/react-native-xcode.sh

../node_modules/react-native/scripts/react-native-xcode.sh

Xcode -> 选择你的项目 -> “构建阶段”选项卡 -> “Bundle React 本机代码和图像”

【讨论】:

    【解决方案4】:

    我将source ~/.bash_profile 添加到我的 [project_name]/node_modules/react-native/packager/react-native-xcode.sh 文件的顶部,它可以工作。

    https://github.com/facebook/react-native/issues/3948

    【讨论】:

      【解决方案5】:

      我能够通过以下方式解决此错误:

      在 XCode 中打开你的 react 原生项目 导航到 构建阶段 > 捆绑 React Native 代码和图像

      改变

      export NODE_BINARY=node
      ../node_modules/react-native/packager/react-native-xcode.sh
      

      export NODE_BINARY=node
      ./node_modules/react-native/scripts/react-native-xcode.sh
      

      在最新版本中,packager 被替换为

      【讨论】:

        猜你喜欢
        • 2013-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多