问题描述
System:
OS: macOS 11.3
cpu: (8) arm64 Apple M1
Memory: 124.86 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.0.0 - /opt/homebrew/bin/node
Yarn: Not Found
npm: 7.10.0 - /opt/homebrew/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.10.1 - /Users/chia/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5,DriverKit 20.4,macOS 11.3,tvOS 14.5,watchOS 7.4
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 12.5/12E262 - /usr/bin/xcodebuild
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.0 => 0.64.0
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
新的 RN 项目创建成功,但 Xcode 构建失败。
错误:
错误:找不到节点。确保它在 bash PATH 中或设置 NODE_BINARY 环境变量。
命令 PhaseScriptExecution 失败,退出代码非零
node 由 homebrew 安装,Intel mbp 没有这个错误。
PATH 中的节点
npm -g bin
/opt/homebrew/bin
echo $PATH
/Users/chia/.pyenv/shims:/Users/chia/.rbenv/shims:/Users/chia/.rbenv/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
解决方法
sudo ln -s $(which node) /usr/local/bin/node
解决了。
,@pekanchuan 在 https://stackoverflow.com/a/67342683/6512858 的回答对我有用。
sudo ln -s $(which node) /usr/local/bin/node
我想补充一点,如果此命令显示 /usr/local/bin/node: File exists
,您需要知道链接已经存在,可能指向不同版本的节点。
就我而言,要安装 yarn
,brew
安装了一个单独的 nodejs v15
并将文件链接到其二进制文件。
虽然我使用 nvm
来拥有 nodejs v14
和 nodejs v16
。这个额外的 nodejs 是问题中提到的错误的原因。
只需运行 sudo rm -f /usr/local/bin/node
即可删除链接,然后执行命令 sudo ln -s $(which node) /usr/local/bin/node
即可创建正确的链接。