v2.5.2
Giriş yap

react native uygulamasını mac'te açarken pod install hatası

hasaneryilmaz
270 defa görüntülendi ve 1 kişi tarafından değerlendirildi

macbook'ta react native projemin ios klasöründe pod install yapınca aşağıdaki hatayı alıyorum.
Ne yaptıysam glog'un kurulumunu geçemedim.

pod install yaptıktan sonraki aşamaları aşağıda paylaştım.

yardımlarınızı bekliyorum.



hasaneryilmaz@bidbmac1s-MacBook-Pro ios % pod install
warn Multiple Podfiles were found: ios/Podfile,vendor/bundle/ruby/2.6.0/gems/cocoapods-core-1.12.1/lib/cocoapods-core/Podfile. Choosing ios/Podfile automatically. If you would like to select a different one, you can configure it via "project.ios.sourceDir". You can learn more about it here: https://github.com/react-native-community/cli/blob/master/docs/configuration.md
Auto-linking React Native modules for target `PauNav`: KontaktBeacons, RNBluetoothStateManager, RNCAsyncStorage, RNScreens, RNVectorIcons, react-native-geolocation-service, react-native-keep-awake, react-native-netinfo, react-native-safe-area-context, and react-native-webview
[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
[Codegen] Found FBReactNativeSpec
Fetching podspec for `RCT-Folly` from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`
Fetching podspec for `boost` from `../node_modules/react-native/third-party-podspecs/boost.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
Fetching podspec for `hermes-engine` from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`
Downloading dependencies
Installing FBLazyVector 0.70.6 (was 0.71.8)
Installing FBReactNativeSpec 0.70.6 (was 0.71.8)
Installing KontaktBeacons (4.1.0)
Installing RCT-Folly 2021.07.22.00
Installing RCTRequired 0.70.6 (was 0.71.8)
Installing RCTTypeSafety 0.70.6 (was 0.71.8)
Installing RNBluetoothStateManager (1.3.4)
Installing RNCAsyncStorage (1.17.11)
Installing RNScreens (3.18.2)
Installing RNVectorIcons (9.2.0)
Installing React 0.70.6 (was 0.71.8)
Installing React-Codegen 0.70.6 (was 0.71.8)
Installing React-Core 0.70.6 (was 0.71.8)
Installing React-CoreModules 0.70.6 (was 0.71.8)
Installing React-RCTActionSheet 0.70.6 (was 0.71.8)
Installing React-RCTAnimation 0.70.6 (was 0.71.8)
Installing React-RCTBlob 0.70.6 (was 0.71.8)
Installing React-RCTImage 0.70.6 (was 0.71.8)
Installing React-RCTLinking 0.70.6 (was 0.71.8)
Installing React-RCTNetwork 0.70.6 (was 0.71.8)
Installing React-RCTSettings 0.70.6 (was 0.71.8)
Installing React-RCTText 0.70.6 (was 0.71.8)
Installing React-RCTVibration 0.70.6 (was 0.71.8)
Installing React-bridging (0.70.6)
Installing React-callinvoker 0.70.6 (was 0.71.8)
Installing React-cxxreact 0.70.6 (was 0.71.8)
Installing React-hermes 0.70.6 (was 0.71.8)
Installing React-jsi 0.70.6 (was 0.71.8)
Installing React-jsiexecutor 0.70.6 (was 0.71.8)
Installing React-jsinspector 0.70.6 (was 0.71.8)
Installing React-logger 0.70.6 (was 0.71.8)
Installing React-perflogger 0.70.6 (was 0.71.8)
Installing React-runtimeexecutor 0.70.6 (was 0.71.8)
Installing ReactCommon 0.70.6 (was 0.71.8)
Installing Yoga 1.14.0
Installing boost 1.76.0
Installing glog 0.3.5
[!] /bin/bash -c 
set -e
#!/bin/bash
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

set -e

PLATFORM_NAME="${PLATFORM_NAME:-iphoneos}"
CURRENT_ARCH="${CURRENT_ARCH}"

if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then
    # Xcode 10 beta sets CURRENT_ARCH to "undefined_arch", this leads to incorrect linker arg.
    # it's better to rely on platform name as fallback because architecture differs between simulator and device

    if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then
        CURRENT_ARCH="x86_64"
    else
        CURRENT_ARCH="arm64"
    fi
fi

# @lint-ignore-every TXT2 Tab Literal
if [ "$CURRENT_ARCH" == "arm64" ]; then
    cat <<\EOF >>fix_glog_0.3.5_apple_silicon.patch
diff --git a/config.sub b/config.sub
index 1761d8b..43fa2e8 100755
--- a/config.sub
+++ b/config.sub
@@ -1096,6 +1096,9 @@ case $basic_machine in
 		basic_machine=z8k-unknown
 		os=-sim
 		;;
+	arm64-*)
+		basic_machine=$(echo $basic_machine | sed 's/arm64/aarch64/')
+		;;
 	none)
 		basic_machine=none-none
 		os=-none
EOF

    patch -p1 config.sub fix_glog_0.3.5_apple_silicon.patch
fi

export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)"
export CXX="$CC"

# Remove automake symlink if it exists
if [ -h "test-driver" ]; then
    rm test-driver
fi

# Manually disable gflags include to fix issue https://github.com/facebook/react-native/issues/28446
sed -i.bak -e 's/\@ac_cv_have_libgflags\@/0/' src/glog/logging.h.in && rm src/glog/logging.h.in.bak
sed -i.bak -e 's/HAVE_LIB_GFLAGS/HAVE_LIB_GFLAGS_DISABLED/' src/config.h.in && rm src/config.h.in.bak

./configure --host arm-apple-darwin

cat << EOF >> src/config.h
/* Add in so we have Apple Target Conditionals */
#ifdef __APPLE__
#include <TargetConditionals.h>
#include <Availability.h>
#endif

/* Special configuration for ucontext */
#undef HAVE_UCONTEXT_H
#undef PC_FROM_UCONTEXT
#if defined(__x86_64__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip
#elif defined(__i386__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip
#endif
EOF

# Prepare exported header include
EXPORTED_INCLUDE_DIR="exported/glog"
mkdir -p exported/glog
cp -f src/glog/log_severity.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/raw_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/stl_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/vlog_is_on.h "$EXPORTED_INCLUDE_DIR/"

: command not found


Cevap yaz
Cevaplar (1)
ebykdrms
284 gün önce

Önemli: Önerilerimin projeyi iyice bozma ihtimaline karşı projenin yedeğini almayı unutma.

GitHub'da bu soruna yönelik şöyle bir cevap yazılmış

sudo xcode-select --switch /Applications/Xcode.app komutunu verdikten sonra terminali kapatıp yeni bir terminal aç ve cd ios ve pod install komutunu tekrar dene.
Kaynak: https://github.com/facebook/react-native/issues/25532

Başka bir sorun daha var

Şu uyarıyı çözebilirsin: warn Multiple Podfiles were found: ios/Podfile ... Choosing ios/Podfile automatically. If you would like to select a different one, you can configure it via "project.ios.sourceDir".
Bu uyarıyı gidermek için projenin kök klasörüne react-native.config.js adlı bir dosya oluşturmalısın:

module.exports = {
  project: {
    ios: {
      sourceDir: './ios',
    },
  },
};

Yeni bir React Native sürümüyse Ruby versiyon sorunu da olabilir.

Bunun haricinde bilgisayarındaki ruby versiyonun güncel olmayabilir.
React Native 0.71.3 sürümünün ruby'nin 2.7.6 versiyonunu kullandığı belirtiliyor: 0.71.3 için ruby versiyonu
rvm list komutuyla bilgisayarına yüklü ruby versiyonlarını görebilirsin.
Eğer 2.7.6 veya daha üst bir versiyonu yüklüyse rvm use ruby-2.7.6 --default komutunu (versiyon numarasına dikkat ederek) verebilirsin.
Yüklü değilse yüklemek için rvm install ruby-2.7.6 komutunu verebilirsin. Yükledikten sonra da rvm use ruby-2.7.6 --default diyerek versiyonu seçebilirsin.
Kök klasöründeki GemFile dosyasında örneğin ruby '>= 2.6.10' yazıyorsa bunu ruby '>= 2.7.6' olarak değiştirebilirsin.

Bunları yaptıktan sonra tekrar denersen belki sorun ortadan kalkar.