 @@ -13,6 +13,7 @@
  import type {StackFrame} from '../NativeExceptionsManager';
  import type {HermesParsedStack} from './parseHermesStack';
-
+ 
 +const stacktraceParser = require('stacktrace-parser');
  const parseHermesStack = require('./parseHermesStack');
-
+ 
  function convertHermesStack(stack: HermesParsedStack): Array<StackFrame> {
 @@ -43,7 +44,6 @@ function parseErrorStack(errorStack?: string): Array<StackFrame> {
      return [];
    }
-
+ 
 -  const stacktraceParser = require('stacktrace-parser');
    const parsedStack = Array.isArray(errorStack)
      ? errorStack

--- a/node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js
+++ b/node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js
@@ -64,9 +64,9 @@ function configureNext(

   // In Fabric, LayoutAnimations are unconditionally enabled for Android, and
   // conditionally enabled on iOS (pending fully shipping; this is a temporary state).
-  const FabricUIManager: FabricUIManagerSpec = global?.nativeFabricUIManager;

     const NSUInteger RCTMaxTouches = 11; // This is the maximum supported by iDevices
     NSInteger touchID = ([_reactTouches.lastObject[@"identifier"] integerValue] + 1) % RCTMaxTouches;
diff --git a/node_modules/react-native/scripts/find-node.sh b/node_modules/react-native/scripts/find-node.sh
index c498ba6..11338d0 100755
--- a/node_modules/react-native/scripts/find-node.sh
+++ b/node_modules/react-native/scripts/find-node.sh
@@ -1,11 +1,15 @@
 #!/bin/bash
-# Copyright (c) Facebook, Inc. and its affiliates.
+# 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
 
+# remove global prefix if it's already set
+# the running shell process will choose a node binary and a global package directory breaks version managers
+unset PREFIX
+
 # Support Homebrew on M1
 HOMEBREW_M1_BIN=/opt/homebrew/bin
 if [[ -d $HOMEBREW_M1_BIN && ! $PATH =~ $HOMEBREW_M1_BIN ]]; then
@@ -15,12 +19,16 @@ fi
 # Define NVM_DIR and source the nvm.sh setup script
 [ -z "$NVM_DIR" ] && export NVM_DIR="$HOME/.nvm"
 
+# Source nvm with '--no-use' and then `nvm use` to respect .nvmrc
+# See: https://github.com/nvm-sh/nvm/issues/2053
 if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
   # shellcheck source=/dev/null
-  . "$HOME/.nvm/nvm.sh"
+  . "$HOME/.nvm/nvm.sh" --no-use
+  nvm use 2> /dev/null || nvm use default
 elif [[ -x "$(command -v brew)" && -s "$(brew --prefix nvm)/nvm.sh" ]]; then
   # shellcheck source=/dev/null
-  . "$(brew --prefix nvm)/nvm.sh"
+  . "$(brew --prefix nvm)/nvm.sh" --no-use
+  nvm use 2> /dev/null || nvm use default
 fi
 
 # Set up the nodenv node version manager if present
@@ -37,3 +45,25 @@ if [[ ! -x node && -d ${HOME}/.anyenv/bin ]]; then
     eval "$(anyenv init -)"
   fi
 fi
