Ste*_*e C 18 android node.js react-native
iOS 版本运行良好,但在我的 Mac 上运行 Android Studio 时出现以下 Gradle Build 错误(解释):
:ReactNative:Running ‘[node, -e, console.log(require(‘react-native/cli’).bin);]’ command failed.
- Where:
Script ‘/Users/…/Desktop/…/node_modules/@react-native-community/cli-platform-android/native_modules.gradle’ line: 154
- What went wrong:
A problem occurred evaluating script.
> Cannot run program “node”: error=2, No such file or directory
Caused by: java.io.IOException: Cannot run program “node”: error=2, No such file or directory
Run Code Online (Sandbox Code Playgroud)
我尝试了很多东西:
我以前仍然可以在终端中运行 yarn android,但即使这样也已停止工作。
Mis*_*r X 391
这是因为 Android Studio 找不到节点,应该从终端窗口运行。
如果您使用的是 Mac,您可以在终端中使用此命令运行 Android Studio。请注意,如果 Android Studio 已在运行,则需要在运行命令之前完全关闭它。
1.运行这个 open -a /Applications/Android\ Studio.app
如果您通过 Jetbrains Toolbox 版本 1.x 安装了 Android Studio,请运行
open -a ~/Applications/JetBrains\ Toolbox/Android\ Studio.app
Run Code Online (Sandbox Code Playgroud)
如果您通过 Jetbrains Toolbox 版本 2.x 安装了 Android Studio,请运行
open "Applications/Android Studio.app"
Run Code Online (Sandbox Code Playgroud)
2.然后同步Gradle
这将解决问题。
注意:如果您通过 nvm 使用 Node,则应nvm use [version]在运行上述命令打开 Android Studio 之前在同一终端窗口中运行。
Jul*_* CB 105
就我而言,采用此设置:
我之前运行过上面提到的命令,但我一直收到同样的错误:
sudo ln -s "$(which node)" /usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)
我必须更新项目中的 gradle 版本(android/gradle/wrapper/gradle-wrapper.properties)
从:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
Run Code Online (Sandbox Code Playgroud)
到:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip
Run Code Online (Sandbox Code Playgroud)
并在项目中执行此命令:
cd android && ./gradlew clean
Run Code Online (Sandbox Code Playgroud)
或者只是删除此文件夹而不是执行前面的命令:android/.gradle
完成这些步骤后我不再有任何问题。
小智 55
chmod +x /Applications/Android\ Studio.app/Contents/bin/printenv在终端中运行并重新启动 Android Studio 将使 gradle 同步再次工作。
我正在使用最新的 Android Studio,并且我对该应用程序进行了补丁更新。我的系统在 M1 Pro Apple CPU 上运行 macOS 12.1。
重新启动后,我无法运行我的 React Native 应用程序,并且 gradle 同步失败。上述任何修复对我都没有帮助。idea.log于是我详细阅读了gradle日志文件。在日志的一开始,我看到应用程序printenv存在一些问题。
loading shell env: /bin/zsh -l -i -c '/Applications/Android Studio.app/Contents/bin/printenv' '/var/folders/7y/gz2kx4917yl_804mbfrnkqxc0000gn/T/intellij-shell-env.9046002349811239017.tmp'
...
.intellij.util.EnvironmentUtil - can't get shell environment
java.io.IOException: command [/bin/zsh, -l, -i, -c, '/Applications/Android Studio.app/Contents/bin/printenv' '/var/folders/7y/gz2kx4917yl_804mbfrnkqxc0000gn/T/intellij-shell-env.9046002349811239017.tmp']
exit code:126 text:0 out:zsh:1: permission denied: /Applications/Android Studio.app/Contents/bin/printenv
Run Code Online (Sandbox Code Playgroud)
之后,我转到文件夹 /Applications/Android Studio.app/Contents/bin/ 并printenv在我的终端中列出,发现它printenv没有执行权限:
-rw-r--r--@ 1 user admin 152080 Jan 28 09:12 printenv
安卓工作室
Android Studio 大黄蜂 | 2021.1.1 Build #AI-211.7628.21.2111.8092744,构建于 2022 年 1 月 19 日 运行时版本:11.0.11+0-b60-7772763 aarch64 VM:JetBrains sro 的 OpenJDK 64 位服务器 VM macOS 12.1 GC:G1 Young Generation ,G1 老一代内存:2048M 核心:10 注册表:external.system.auto.import.disabled=true
小智 39
对于M1 Mac,我下载了Android Studio(带有Apple芯片的Mac)版本并遇到了这个问题。
通过将 gradle 版本更改为 6.9-rc-1,它得到了修复。
这可以通过文件 -> 项目结构 -> 项目 -> Gradle 版本 -> 键入或选择“6.9-rc-1”并单击“确定”按钮来完成。
您也可以在这里找到类似和更多的解决方案。
Gradle 同步失败:原因:错误=2,没有这样的文件或目录
Mos*_*tav 33
只需将节点(之前由 nvm 安装)添加到 /usr/local/bin/ 作为符号链接即可解决。它对我来说效果很好。
sudo ln -s "$(which node)" /usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)
Ubuntu 20.4,节点 14.15.0
Jar*_*nen 16
Android Studio 使用在 Android Studio 进程启动时可用的 PATH 环境变量,并且您的 Node 二进制目录应该在该 PATH 中。
当我通过nvm(节点版本管理工具)安装节点时,我在 Linux 中遇到了同样的错误,该工具在 Bash 启动时设置节点路径。
我的问题是我从桌面启动了 Android Studio,因为没有执行 Bash 启动文件,所以也没有设置 Node 路径。
解决方案是从命令行运行 Android Studio。
您还可以尝试将 PATH 环境变量直接传递给 Android Studio,同时从命令行启动它:
PATH=$PATH:/path/to/node/bin/ /path/to/android/studio/bin/studio.sh
Run Code Online (Sandbox Code Playgroud)
我在我的 Mac 上,我通过完全关闭 android studio 来解决这个问题?关闭进程?,然后重新启动它。
在配备 M1 的 Mac 上,升级 Android Studio 解决了我的问题。我从北极狐升级到大黄蜂。
还使用了这个版本的 Gradle (android/gradle/wrapper/gradle-wrapper.properties):
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-bin.zip
Run Code Online (Sandbox Code Playgroud)
我如何解决同样的问题。
注意:我通过 nvm 安装了节点(我相信这就是我遇到问题的原因)
如果您通过 snap 安装了 android studio,那么通过命令行启动它非常简单。
在终端中打开项目文件夹并运行:
android-studio .
我在我的 M1 mac mini 上为此困扰了很长时间。在 gradle 同步期间以及尝试从命令行运行 ./gradlew 命令时,在 Intellij IDEA 中打开 RN android 项目后,我收到此错误。
对我来说似乎有一个解决方案:
我认为真正的解决方案是第一步。现在项目在 IDEA 中打开,没有错误,我可以运行 ./gradlew 命令。
| 归档时间: |
|
| 查看次数: |
12806 次 |
| 最近记录: |