React Native 0.60.4 detox postinstall.js 安装错误

Posted

技术标签:

【中文标题】React Native 0.60.4 detox postinstall.js 安装错误【英文标题】:React Native 0.60.4 detox postinstall.js install error 【发布时间】:2019-12-19 12:06:10 【问题描述】:

无法通过npm installyarn 安装排毒。

yarn add --dev detox 将在 postbuild.js 中失败`

这个问题是为了回应 wix/detox 的问题跟踪政策: https://github.com/wix/Detox/issues/1523

按照最新教程开始排毒。

react-native init example // (0.60.4)
brew update
brew tap wix/brew
brew install applesimutils
yarn global add detox-cli // you shouldn't need this
yarn add --dev detox // add this package in /example app

安装 detox 将退出并出现子进程错误。

错误:

Command Failed: <YOUR_PROJECT_PATH>/node_modules/detox/scripts/build_framework.ios.sh
   at checkExecSyncError (child_process.js:629:11)
    at Object.execFileSync (child_process.js:647:13)
    at Object.<anonymous> (<YOUR_PROJECT_PATH>/node_modules/detox/scripts/postinstall.js:2:27)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

在此处遵循他们的指南: https://github.com/wix/Detox/blob/master/docs/Introduction.GettingStarted.md

更新:请参阅下面的解决方案,能够毫无问题地安装 detox。

【问题讨论】:

【参考方案1】:

之前安装的 detox 版本需要 Legacy Build System

如何正确升级:

    删除 ~/Library/Detox/ 删除 ~/Library/Developer/Xcode/DerivedData/* yarn add -D detox // 安装时没有问题

这个问题是怎么发生的:

如果您安装了依赖于早期 Xcode 的早期版本的 Detox,您将遇到旧版和新构建系统之间的冲突

然后,Detox 将查看您的 ~/Library/Detox 数据并由于默认选择新构建系统而无法构建

我通过执行以下操作解决了这个安装错误:

    在 xcode 10.3 中进入 File &gt; Workspace Settings共享工作区设置下选择旧版构建系统 重新安装 detox(它不会使用旧版本并且不会出错)

【讨论】:

以上是关于React Native 0.60.4 detox postinstall.js 安装错误的主要内容,如果未能解决你的问题,请参考以下文章

ReferenceError:找不到变量:React Native 0.60.4 中的状态

React Native Detox 模拟文件

Detox - 测试模式在 React Native 中的可见性

React-Native 和 Detox:无法关闭位置弹出窗口

设置 Wix/Detox - 运行他们的 react native 示例

如何在 Detox 中控制 React-Native webview?