React Native Cannot run program “node“问题
概述
前几天mac重装系统了,用Android studio重新构建React native项目时,报Cannot run program "node"错误。
电脑系统为macOS 12.6.3 (Monterey),M1 Pro芯片。设备信息如下图所示:

完整错误信息如下图所示:

错误分析
刚开始看到错误信息时,比较困惑,完全不知道错误是什么意思,查了一些资料后,才想起来,之前也遇到过同样的错误。
看了一些资料后,再回过头来仔细查看错误信息,发现错误信息还是比较明确。
// 错误原因:执行这一条命令失败,导致构建失败
:ReactNative:Running '[node,-e, console.log(require('react-native/cli').bin);]' command failed.
// 发生错误的具体代码位置
*Where:
Script '/Users/01423389/ReactNative/css-android-reactnativemainland/node_modules/@react-native-community/cli-platform-android/native_modules.gradle' line:189
// 错误更详细原因,“node,-e, console.log(require('react-native/cli').bin);”这条命令执行,需要使用node,但无法运行node,所以报错
* What went wrong:
A problem occurred evaluating script.
>Cannot run program "node" (in directory "/Users/01423389/ReactNative/css-android-reactnativemainland/android"):error=2, No such file or directory
看一下报错的具体代码位置:

是在node_modules/@react-native-community/cli-platform-android/native_modules.gradle文件中。
所以错误发生的过程是:
- Android studio使用gradle构建React native项目,需要执行一些gradle脚本;
- gradle脚本中,需要使用node运行一些命令,处理js相关代码;
- 使用node运行命令时,发现node无法运行,所以报错,导致整个构建失败。
解决方案
错误产生的原因已经分析出来了,因为node无法运行。
但我的电脑中已经安装了node,并配置好了环境变量:

查看了相关资料后(google、stackoverflow),发现这是mac M1芯片才有的问题。stackoverflow上比较有效的解决方案是(本人也是使用此种方式),在终端用以下命令打开Android studio:
open -a /Applications/Android\ Studio.app
至于为什么使用这个命令打开Android studio,就能解决这个问题,暂时未深究。
附注:在jenkins中打包,node版本过低(比如10版本),我也遇到过这个问题,解决方案是升级node到14版本,并在jenkins打包设置中配置环境变量。
参考资料
stackoverflow-61922174
github-react-native-community-issues-1457
stackoverflow-67337836
相关文章:
React Native Cannot run program “node“问题
概述 前几天mac重装系统了,用Android studio重新构建React native项目时,报Cannot run program "node"错误。 电脑系统为macOS 12.6.3 (Monterey),M1 Pro芯片。设备信息如下图所示: 完整错误信息如下图所示ÿ…...
python基于vue微信小程序 房屋租赁出租系统
目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.1 2.2MyEclipse环境配置 4 2.3 B/S结构简介 4 2.4MySQL数据库 5 2. 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.1.2技术可行性 6 3.1.3运行可行…...
ThreadPoolExecutor管理异步线程笔记
为什么使用线程池? 线程的创建和销毁都需要不小的系统开销,不加以控制管理容易发生OOM错误。避免线程并发抢占系统资源导致系统阻塞。具备一定的线程管理能力(数量、存活时间,任务管理) new ThreadPoolExecutor(int …...
MotoSimEG-VRC教程:动态输送带创建以及示教编程与仿真运行
目录 任务描述 简易输送带外部设备创建 输送带模型添加与配置 工件安装到输送带 输送带输送工件程序编写与仿真运行 任务描述 在MotoSimEG-VRC中创建1条输送带,并且能够实现将工件从输送带起始点位置处输送到结束点位置处。 简易输送带外部设备创建 在MotoS…...
PyTorch 并行训练 DistributedDataParallel完整代码示例
使用大型数据集训练大型深度神经网络 (DNN) 的问题是深度学习领域的主要挑战。 随着 DNN 和数据集规模的增加,训练这些模型的计算和内存需求也会增加。 这使得在计算资源有限的单台机器上训练这些模型变得困难甚至不可能。 使用大型数据集训练大型 DNN 的一些主要挑…...
Golang实现ttl机制保存内存数据
ttl(time-to-live) 数据存活时间,我们这里指数据在内存中保存一段时间,超过期限则不能被读取到,与Redis的ttl机制类似。本文仅实现ttl部分,不考虑序列化和反序列化。 获取当前时间 涉及时间计算,这里首先介绍如何获取…...
js中数字运算结果与预期不一致的问题和解决方案
本文主要是和大家聊聊关于js中经常出现数字运算结果与预期结果不一致的问题,与及解决该问题的的方案。 一、问题现象 如:0.1 0.2的预期结果是0.3,但是在js中得到的计算结果却是0.30000000000000004,如下图所示 如:0…...
C++ Primer Plus 学习笔记(一)——基本类型
字节与字符 计算机内存的基本单位是位(bit),字节(byte)通常指的是8位的内存单元,从这个意义上来说,字节指的就是描述计算机内存量的度量单位。 C对字节的定义则有些不同,C字节由至…...
ChatGpt与Google 谁能给出最好的回答
ChatGPT由于其先进的会话和技术功能而越来越受欢迎。你可以问聊天机器人任何你想问的问题,它会在几秒钟内输出答案。虽然它不是一个搜索引擎,你应该使用ChatGPT作为你的信息来源而不是谷歌,百度吗? 我们来根据国外的一场测试来看一下 ChatG…...
【Redis】一、CentOS64 安装 Redis
1.下载redis https://download.redis.io/releases/2.将 redis 安装包拷贝到 /opt/ 目录 最好自己创建一个文件夹 3.解压 tar -zvxf redis-6.2.1.tar.gz4. 安装gcc yum install gcc5. 进入目录 cd /opt/redis/redis-6.2.1/6. 编译 make7.执行 make install 进行安装 8. …...
Redis底层原理(持久化+分布式锁)
Redis底层原理 持久化 Redis虽然是个内存数据库,但是Redis支持RDB和AOF (Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中 ;Appen…...
Spring Cloud Nacos实战(八) - Nacos集群配置
Nacos集群配置 更改Nacos启动命令配置原理 我们现在知道,想要启动Naocs只需要启动startup.sh命令即可,但是如果启动3个Nacos那?所以如果我们需要启动多个Nacos,其实Nacos本身默认启动就是集群模式。 注意点:如果是l…...
什么是低代码-甲骨文对低代码的定义
什么是低代码平台?低代码阶段使用简化的界面,允许开发人员构建应用程序和软件 既用户友好又响应迅速。而不是编写几行复杂的代码和语言结构, 您可以快速轻松地利用低代码来构建具有用户界面的整体应用程序, 组合和信息。低代码可以…...
shell编程之循环语句
typora-copy-images-to: pictures typora-root-url: …\pictures 文章目录typora-copy-images-to: pictures typora-root-url: ..\..\pictures一、for循环语句1. for循环语法结构㈠ 列表循环㈡ 不带列表循环㈢ 类C风格的for循环2. 应用案例㈠ 脚本计算1-100奇数和① 思路② 落地…...
神经动力学-第一章-神经动力学基础-神经系统的元素
神经元和数学 本章的主要目的是介绍神经科学的几个基本概念,尤其是动作电位、突触后电位、触发阈值、不应期和适应性。基于这些概念,建立了神经元动力学的初步模型,这个简单的模型(漏积分-火模型)将作为本书主题——广义积分-火模型的起点和参考,在第二部分和第三部分进…...
【力扣-LeetCode】64. 最小路径和 C++题解
64. 最小路径和难度中等1430收藏分享切换为英文接收动态反馈给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入ÿ…...
Mysql数据库事务
数据库事务 数据库事务由一组sql语句组成。 所有sql语句执行成功则事务整体成功;任一条sql语句失败则事务整体失败,数据恢复到事务之前的状态。 Mysql 事务操作 开始事务 start transaction;- 或 begin;事务开始后,对数据的增删改操作不…...
【opencv源码解析0.3】调试opencv源码的两种方式
调试opencv源码的两种方式 上两篇我们分别讲了如何配置opencv环境,以及如何编译opencv源码方便我们阅读。但我们还是无法调试我们的代码,无法以我们的程序作为入口来一步一步单点调试看opencv是如何执行的。 【opencv源码解析0.1】VS如何优雅的配置ope…...
Xcode Archives打包上传 / 导出ipa 发布至TestFlight
Xcode自带的Archives工具可以傻瓜式上传到App Store Connect分发这里以分发到TestFlight为例进行操作。 环境:Xcode 14 一:Archives打包 选择Xcode菜单栏的Product,Archives选项,需要等待编译完成,进入如下界面&…...
RNN GRU模型 LSTM模型图解笔记
RNN模型图解引用RNN模型GRULSTM深度RNN双向循环神经网络引用 动手学深度学习v2–李沐 LSTM长短期记忆网络3D模型–B站up梗直哥丶 RNN模型 加入了一个隐变量(状态),隐变量由上个隐变量和上一个输入而更新,这样模型就可以达到具有短期记忆的效…...
7大核心优势!Windows环境PM2服务化终极解决方案:从痛点到实战的完整指南
7大核心优势!Windows环境PM2服务化终极解决方案:从痛点到实战的完整指南 【免费下载链接】pm2-installer Install PM2 offline as a service on Windows or Linux. Mostly designed for Windows. 项目地址: https://gitcode.com/gh_mirrors/pm/pm2-ins…...
从 Spotlight 到 Raycast:一个 Mac 效率控的深度迁移与自定义指南
1. 为什么我从 Spotlight 迁移到 Raycast 作为一个用了十年Mac的老用户,我几乎每天都要和Spotlight打交道。从最初的简单文件搜索,到后来的计算器、词典功能,Spotlight确实帮了我不少忙。但直到去年发现Raycast,我才意识到原来Ma…...
5个强力优化步骤:Win11Debloat让Windows系统性能提升显著
5个强力优化步骤:Win11Debloat让Windows系统性能提升显著 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化…...
Ubuntu 24.04镜像源配置全攻略:从原理到实战(含常见报错解决)
Ubuntu 24.04镜像源深度解析与高效配置实战 最近在帮朋友配置新装的Ubuntu 24.04时,发现这个版本在软件源管理上做了重大调整——从传统的sources.list文件变成了结构化更强的sources.d目录配置方式。这个变化让不少习惯了旧版本的用户感到困惑,也让我意…...
Realistic Vision V5.1镜像部署实操:解决‘模型路径不存在’异常的完整排查链
Realistic Vision V5.1镜像部署实操:解决‘模型路径不存在’异常的完整排查链 1. 引言:从“模型路径不存在”说起 如果你在部署Realistic Vision V5.1虚拟摄影棚时,满怀期待地启动程序,结果却在控制台看到一行冰冷的“模型路径不…...
告别Finalshell内存焦虑:实测Xshell 8与MobaXterm,哪款才是低资源占用的SSH神器?
深度评测:Xshell 8与MobaXterm如何解决SSH工具的资源占用难题? 当你的开发工作流被频繁的内存告警打断时,选择一款轻量高效的SSH工具就成为了提升生产力的关键。作为每天需要连接多台服务器的开发者,我深刻理解那种看着任务管理器…...
终极指南:如何在Open Interpreter中快速集成vLLM高速推理引擎
终极指南:如何在Open Interpreter中快速集成vLLM高速推理引擎 【免费下载链接】open-interpreter Open Interpreter 工具能够让大型语言模型在本地执行如Python、JavaScript、Shell等多种编程语言的代码。 项目地址: https://gitcode.com/GitHub_Trending/op/open…...
智慧交通落地难题:为什么80%的智能信号灯项目效果不达预期?
智慧交通落地困境:从技术神话到现实瓶颈的深度解构 清晨7点30分,北京东三环的某个十字路口,20名交警正在手动调节信号灯——这个造价480万元的智能信号系统在早高峰时段被完全弃用。类似的场景正在全国至少17个城市重复上演,某头部…...
2. Linux桌面环境介绍
2. Liunx桌面环境介绍 桌面介绍终端设置 设置终端属性:字体快捷键: 新建终端(ctrlaltN)新建标签(ctrlaltT)背景和锁屏设置语言和输入法设置课后作业 系统开机、关机账户的注销、锁屏打开常用程序࿰…...
Pixel Mind Decoder 多模型协作:与Ollama本地模型联合作业
Pixel Mind Decoder 多模型协作:与Ollama本地模型联合作业 1. 引言:当AI模型开始团队合作 想象一下这样的场景:你手头有一份长达50页的市场调研报告,需要快速提炼核心观点并分析其中的情绪倾向。传统做法可能需要先人工阅读总结…...
