web-dev-qa-db-ja.com

React Androidのネイティブ:プログラム「ノード」を実行できません:エラー= 2、そのようなファイルまたはディレクトリはありません

IOSバージョンは問題なく動作しますが、Android StudioをMacで実行すると、次のGradleビルドエラー(言い換え))が表示されます。

: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

私はたくさんのことを試しました:

  • Reactネイティブ開発設定に続く: https://reactnative.dev/docs/environment-setup
  • ノードパスの[名前変更?]に関するこのアドバイスに従ってください: https://stackoverflow.com/a/54007652
  • Symlinkに関するこのアドバイスに従ってください: https://stackoverflow.com/a/52779097
  • Brewインストールノードを実行しました。メッセージ:ノード14.2.0はすでにインストールされていますが、リンクされていません。 brew link --overwrite nodeを実行しようとしました、エラー/ usr/local/share/doc/nodeは書き込み可能ではありません。
  • すべてのパッケージマネージャー、ノード、糸などをアンインストールして再インストールしようとしました。

私はかつては端末でAndroid=を実行できましたが、それでも機能しなくなりました。

2
Steve C

Android Studioは、Android Studioプロセスの起動時に使用できるPATH環境変数を使用します。NodeバイナリディレクトリはそのPATHにある必要があります。

LinuxでNode n(ノードバージョン管理ツール)を介してインストールし、Bash起動時にNodeパスを設定する)をインストールしたときに、同じエラーが発生しました。

私の場合の問題は、Android Studioをデスクトップから起動したことと、Bashスタートアップファイルが実行されなかったため、Nodeパスが設定されていなかったためです。 。

解決策は、コマンドラインからAndroid Studioを実行することでした。

コマンドラインから起動するときに、PATH環境変数をAndroid Studioに直接渡してみることもできます。

PATH=$PATH:/path/to/node/bin/ /path/to/Android/studio/bin/studio.sh
1
Jari Jokinen