macOS 上 React Native 的 Pod 安装问题

Posted

技术标签:

【中文标题】macOS 上 React Native 的 Pod 安装问题【英文标题】:Pod install problem with React Native on macOS 【发布时间】:2019-11-16 03:15:06 【问题描述】:

我正在运行最新版本的 react native,每当我通过终端创建新项目时,我都会收到一条消息,说我必须通过转到 ios 文件夹手动安装 pod。当我这样做时,吊舱安装失败。我已经尝试运行“sudo gem install”并删除并重新安装 react native。

这是我现在尝试运行 rbenv 时遇到的错误:

BUILD FAILED (OS X 10.15.1 using ruby-build 20191111)

Inspect or clean up the working tree at /var/folders/rh/5076xlbn4g9gzkvwk1wkjg400000gn/T/ruby-build.20191120204401.79920.wx7t9i
Results logged to /var/folders/rh/5076xlbn4g9gzkvwk1wkjg400000gn/T/ruby-build.20191120204401.79920.log

Last 10 log lines:
*** building:

    make depend
making all in crypto...
/usr/bin/perl ../util/mkbuildinf.pl "clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM" "darwin64-x86_64-cc" >buildinf.h
clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -I/Users/User1/.rbenv/versions/2.2.4/include   -c -o cryptlib.o cryptlib.c
/bin/sh: User1/.rbenv/versions/2.2.4/include: No such file or directory
make[1]: *** [cryptlib.o] Error 127
make: *** [build_crypto] Error 1
clang: error: no input files

【问题讨论】:

你能检查一下是否有Podfile吗?你能在重新安装之前删除Podfile.lock吗? 有 Podfile 但没有 Podfile.lock 我明白了。你能在做pod install之前做一个pod repo updaterm -rf node_modules && npm install吗? 您的 pod 安装和下载似乎被阻止了。你能看看这个github comment吗? sudo rm -rf ~/.cocoapods 和另一个pod install 怎么样?在SO post 中还提出了其他建议。看看吧。 【参考方案1】:

我已经遇到过这个问题。我不知道为什么,但是 mac 上的默认 Ruby 版本会导致问题。

为了克服这个问题,我使用了Rbenv,它是 Ruby 版本管理器。

这里是如何安装它

brew install rbenv

在您的 bash_profilebashrczshrc 中放置此代码,不要忘记 source 您的文件

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

使用与实际版本不同的 rbenv 安装 Ruby 版本,以确保 rbenv 正常工作。

rbenv install 2.5.3
rbenv global 2.5.3
rbenv rehash
ruby -v //ensure that you're now using 2.5.3 version
gem install cocoapods

删除您的 Pods/ Podfile.lock 并尝试再次运行 pod install。它应该可以解决问题。正如我所说,它对我和我的项目团队成员都有效。您必须记住不要使用 sudo

保持联系,如果您遇到问题,我可以提供说明

【讨论】:

运行rubyv install 2.5.3时收到如下错误:BUILD FAILED (OS X 10.15.1 using ruby-build 20191111) Inspect or clean up the working tree at /var/folders/rh/5076xlbn4g9gzkvwk1wkjg400000gn/T/ruby-build.20191120062653.49305.6q008u Results logged to /var/folders/rh/5076xlbn4g9gzkvwk1wkjg400000gn/T/ruby-build.20191120062653.49305.log 你的意思是你连rbenv都安装不了? 我可以成功安装rbenv但是无法成功运行命令rbenv install 2.5.3 也许这个SO Post可以帮助你 似乎没有帮助。

以上是关于macOS 上 React Native 的 Pod 安装问题的主要内容,如果未能解决你的问题,请参考以下文章

zsh:找不到命令:react-native - MacOS

react-native run-android 失败 MacOS

React Native macOS 菜单栏应用是不是可行?

跨平台战役升级:React Native宣布支持MacOS和Windows平台

MacOS下搭建开发环境React Native 目标平台ios

React Native 上的 MQTT?