如何在使用 Rosetta 的 Mac 上解决“react-native”和 cocopods 的错误

Posted

技术标签:

【中文标题】如何在使用 Rosetta 的 Mac 上解决“react-native”和 cocopods 的错误【英文标题】:How do I troubleshoot an error with 'react-native' and cocopods on a Mac using Rosetta 【发布时间】:2021-06-24 06:45:35 【问题描述】:

我正在尝试在带有应用芯片的新 Mac 计算机上执行一个反应原生项目。 按照某些论坛的建议,将终端更改为使用 Rosetta 打开

安装了cocoa pods 1.10.1版本 使用 NPM 14.16.0 和 react Native 版本 0.63.4 和 Xcode 版本 12.4 并尝试在 ios 文件夹中运行 pod install 命令。我收到以下错误。

错误

[!] An error occurred while processing the post-install hook of the Podfile.

undefined method `react_native_post_install' for #<Pod::Podfile:0x00000001572d90f8>

/Users/vvvvv/WebstormProjects/Reer/ios/Podfile:27:in `block (3 levels) in from_ruby'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.1/lib/cocoapods-core/podfile.rb:179:in `post_install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:897:in `run_podfile_post_install_hook'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:885:in `block in run_podfile_post_install_hooks'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:145:in `message'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:884:in `run_podfile_post_install_hooks'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:329:in `block (2 levels) in create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer/xcode/pods_project_generator/pods_project_writer.rb:61:in `write!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:328:in `block in create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:307:in `create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:299:in `generate_pods_project'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:178:in `integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:166:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

感谢任何帮助。

【问题讨论】:

你能发布你的 Podfile 配置吗,好像你在安装后执行一个方法,它不是在 Podfile 中创建的 我在使用 Intel CPU Mac 时遇到了同样的问题。你解决了id吗?在另一个 0.63.4 版本的项目中,我可以构建应用程序,但当前的项目会引发与您相同的错误。 【参考方案1】:

tldr:更新您的 react-native 版本以匹配您的 Podfile。

react_native_post_install 是在 "react-native": "0.64.0" 中引入的。

对我来说,我安装了 "react-native": "~0.63.4",但使用的是来自 0.64 新 reactive-native init 的 Podfile(复制/粘贴)。

我经历了将我的 expo 创建项目迁移到原始 react-native 的过程。

【讨论】:

我将 react-native 升级到 0.64.0 并且成功了,谢谢 升级到 0.64.0 后问题解决

以上是关于如何在使用 Rosetta 的 Mac 上解决“react-native”和 cocopods 的错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 M1 Mac 上本地运行 Python 3.9.1?

在 M1 Mac 上安装节点

Rosetta Stone (罗赛塔石碑) for Mac 美式英语1-5级语言包下载

MAC电脑M1M2Cocoapods问题

MAC电脑M1M2Cocoapods问题

苹果M1芯片的电脑怎么配置java开发环境?