web-dev-qa-db-ja.com

npmのインストール後にnpmの起動が失敗する

(my os:Windows 10)でサンプルプロジェクトを作成します。

expo init test
cd test
npm start

すべてがうまく機能し、電話でアプリを見ることができ、package.jsonが見えます。

{
  "name": "empty-project-template",
  "main": "node_modules/expo/AppEntry.js",
  "private": true,
  "scripts": {
    "start": "expo start",
    "Android": "expo start --Android",
    "ios": "expo start --ios",
    "eject": "expo eject"
  },
  "dependencies": {
    "expo": "^30.0.1",
    "react": "16.3.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
  }
}

しかし、「uuid」のようなパッケージをインストールしたい場合は、

npm install uuid

パッケージは問題なくインストールされ、私は書いた。

   npm start

This command requires Expo CLI.
Do you want to install it globally [Y/n]?

「Y」を押しますが、エラーが発生します。

This command requires Expo CLI.
Do you want to install it globally [Y/n]? y
Installing the package 'expo-cli'...
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: spawn npm ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:362:16)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! empty-project-template@ start: `expo start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the empty-project-template@ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

パッケージ名は重要ではありません。パッケージをインストールしてnpm startを実行すると、プロジェクトがダウンしてプロジェクトを使用できません。このステップをyarnでテストしました。これはnpmと同じですが、私の間違いは何ですか?

4
redkont

解決策はexpo-cli startを使用することです。npm startまたはyarn startは使用しないでください。したがって、今のところ問題なく動作します。

したがって、問題なくEXPOで反応ネイティブアプリを作成する場合の手順は次のとおりです。

  • expo-cli init [project-name]
  • cd [project-name]
  • 必要に応じてパッケージをインストール=> npm install packageまたはyarn add package
  • expo-cli startnpm startまたはyarn startは使用しないでください)
  • できた
2
redkont

この問題に苦しんでいる人のために、

  1. コードベースのnode_modules> .binに移動します
  2. そのディレクトリでexpoとexpo.cmdを見つけます
  3. 名前を任意に変更します。

準備できた。

5
zevy_boy

私にとっては、expo startが直接機能します。 npmはexpo-cliの存在をまだ知らないようです

3
hakuna1811

これは既知のバグです。フォローアップについては expo-cliの問題#51 を参照してください。

1
David Ammouial

使用しているNode.jsのバージョンがわかりません。ただし、このバージョンのNode.js 12.10.0を使用できます。これで問題を解決できます。

0
cama

expo-cliが正しくインストールされていないようです。もう一度インストールしてください:

npm install -g expo-cli

コマンドを実行するには、管理者としてコマンドシェルを起動する必要がある場合があります。

また、コンピューターにNode.js(バージョン6以降)がインストールされている必要があります。

0
Fan

バージョンを「expo」にダウングレードしました:「^ 30.0.0」。同じ問題を解決します。

0
Rafał

expo-cliをdev-dependenciesに追加してみてください:

yarn add expo-cli --dev
0
kursat