最新版0.76.3
报错 … 这个具体的报错信息没给,参考
https://github.com/facebook/react-native/issues/34189
Debugging this issue on my M1 mac, I discovered that I had never set my git config to use the correct line endings for *nix on macOS. UPDATE: I had actually forgotten to unset them after working with a repo with Windows line endings. This means they were set to git config --global core.autocrlf true
which is the setting for windows .
This is the correct setting for linux/mac.
git config --global core.autocrlf input
You can also unset
them and use the default which is false
git config --global --unset core.autocrlf
After this, you will need to normalize all the line endings in the project (unless you want to re-clone).
https://stackoverflow.com/a/13154031
After you have done the configuration, you might want git to normalize all the files in the repo. To do this, go to to the root of your repo and run these commands:
git rm --cached -rf . git diff --cached --name-only -z | xargs -n 50 -0 git add -f
If you now want git to also normalize the files in your working directory, run these commands:
git ls-files -z | xargs -0 rm git checkout .
There are some .bat
files for windows that you will not want to change, so discard those.
Once you have done these steps, you shouldn’t need any of the custom workarounds in this thread.
Originally posted by @shwanton in https://github.com/facebook/react-native/issues/34189#issuecomment-1502532287
Installing glog (0.3 .5 ) [!] /usr/local/bin/bash -cset -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 XCRUN="$(which xcrun)" if [ -n "$XCRUN" ]; then export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)" export CXX="$CC" else export CC="$CC:-$(which gcc)" export CXX="$CXX:-$(which g++ || true)" fi export CXX="$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/" patching file config.sub 1 out of 1 hunks failed--saving rejects to config.sub.rej [!] [Codegen] warn: using experimental new codegen integration