反应本机项目不在 MacBook M1 上构建

react native project not build on MacBook M1

我在新的 MacBook M1 pro 中更换了我的 MacBook,并发布了一个旧项目。

我在我使用的旧项目上工作:

expo(version 40)哪个弹出来用

react-native(版本~0.63.4)

并且当我尝试构建(命令:react-native 运行-ios)项目时它总是 return 错误,但是当我创建新项目时一切正常。 不知道是什么问题。

我找到了一个解决方案。

Firstly I clean project and install everything again, then start building.

命令:

watchman watch-del-all && rm -rf node_modules && rm -rf yarn.lock && rm -rf package-lock.json && yarn cache clean && yarn && cd ios && rm -rf Pods && rm -rf Podfile.lock && pod install && cd .. && cd android && ./gradlew clean && cd .. && yarn start --reset-cache

After that I start build with this command:

arch -x86_64 yarn run ios

or

arch -x86_64 react-native run-ios

不要清理所有内容,不需要删除 yarn.lock 和 podfile.lock。因为这可能会升级可能需要并需要测试的依赖项。

我在 M1 Mac 上遇到过类似的问题。我正在列出它们。

  1. 错误:GET https://github.com/electron/electron/releases/download/v1.8.8/electron-v1.8.8-darwin-arm64.zip 返回 404

解决方案是升级包文件中的 react-devtools

 "react-devtools": "^4.23.0", // Upgrade to the latest one
  1. 然后确保您的路径设置正确。我额外添加了一个,因为它对我来说是必需的。如果需要,您可以按照下面的建议更新路径。我正在使用 z Shell 所以建议 zshrc

echo 'export PATH=/usr/bin/node:$PATH' >> ~/.zshrc

  1. 因为我的是一个现有项目并且有 x86 库。我将 Rosetta 用于 Xcode。右键单击 xcode => 获取信息 => Select 使用 Rosetta 打开。

终于

brew install cocoapods // To install compatible arch for m1
arch -x86_64 gem install ffi. // Install the ffi Ruby gem for Apple’s Rosetta 2
arch -x86_64 pod install
arch -x86_64 yarn run ios

我是如何用 M1 臂解决我的问题的 Mac

> arch -x86_64 expo init AwesomeProject
> cd AwesomeProject
> arch -x86_64 yarn
>arch -x86_64 yarn start

**工作:)**