Expressコマンドが見つかりません


137

私のマシン上でグローバルExpressをインストールした後、いくつかの理由でnpm install -g expressあれば、私cdのディレクトリに、私は次のエラーを取得する表現実行しよう:

express: command not found. 

で実行してsudoも、同じ出力が得られます。私はこの問題に対して複数の異なる解決策を試しましたが、何もうまくいきませんでした。私は、を介してノードインストールしていたhomebrew私は完全にノードをアンインストールし、nodejs.orgでインストーラ(私は今v0.10.26を実行している)と、まだ問題が持続経由して再インストールしてスタックオーバーフロー上のいくつかのスレッドが問題だったかもしれない示していたが。

私は私に行けば/usr/local/lib/node_modulesエクスプレスそこにあるが、は/ usr / local / binの中にエクスプレスについては何もありません。それが問題かどうかはわかりませんが、そのディレクトリにグローバルにインストールされている他のノードパッケージのバイナリがあることを考えると、そこに何か問題があるのではないかと思います。

これは私がインストールしたときに得られる正確な出力です:

npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/accepts/1.0.0
npm http GET https://registry.npmjs.org/type-is/1.0.0
npm http GET https://registry.npmjs.org/range-parser/1.0.0
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/fresh/0.2.2
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/methods/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.3
npm http GET https://registry.npmjs.org/utils-merge/1.0.0
npm http GET https://registry.npmjs.org/merge-descriptors/0.0.2
npm http GET https://registry.npmjs.org/escape-html/1.0.1
npm http GET https://registry.npmjs.org/serve-static/1.0.1
npm http GET https://registry.npmjs.org/qs/0.6.6
npm http GET https://registry.npmjs.org/path-to-regexp/0.1.2
npm http GET https://registry.npmjs.org/parseurl/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/type-is/1.0.0
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/methods/0.1.0
npm http 304 https://registry.npmjs.org/accepts/1.0.0
npm http 304 https://registry.npmjs.org/range-parser/1.0.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.3
npm http 304 https://registry.npmjs.org/fresh/0.2.2
npm http 304 https://registry.npmjs.org/serve-static/1.0.1
npm http 304 https://registry.npmjs.org/qs/0.6.6
npm http 304 https://registry.npmjs.org/utils-merge/1.0.0
npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.2
npm http 304 https://registry.npmjs.org/escape-html/1.0.1
npm http 304 https://registry.npmjs.org/path-to-regexp/0.1.2
npm http 304 https://registry.npmjs.org/parseurl/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http 304 https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/fresh/0.2.0
express@4.0.0 /usr/local/lib/node_modules/express
├── methods@0.1.0
├── parseurl@1.0.1
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── escape-html@1.0.1
├── debug@0.8.0
├── cookie-signature@1.0.3
├── range-parser@1.0.0
├── fresh@0.2.2
├── qs@0.6.6
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── path-to-regexp@0.1.2
├── type-is@1.0.0 (mime@1.2.11)
├── send@0.2.0 (mime@1.2.11)
├── serve-static@1.0.1 (send@0.1.4)
└── accepts@1.0.0 (negotiator@0.3.0, mime@1.2.11)

回答:


359

Express 4.0.0のリリースでは、実行する必要があるように見えますsudo npm install -g express-generator


3
これはあなたの助けにとても感謝しました!昨夜は髪を抜く準備ができていました。
トニーバルソッティ2014

2
sudoは、上記の理由で必要ではなく、引き続き機能します。stackoverflow.com/questions/4938592/...
StanleyZheng

4
残念ながら、公式文書でさえ言及されていません。;-)
Azat 2014年

これがドキュメントにない場合、どのようにしてそれを見つけましたか?
Startec 2014

1
FWIW公式ドキュメントで言及されている[今?]- expressjs.com/starter/generator.html
Steven R. Loomis

34

実行する必要があります:

npm install -gd express-generator

元のExpress with cli、現在はcliが個別のexpress-generatorパッケージに分割されています。最初にプロジェクトによって生成されたのは、エクスプレスノードapp.jsです。これは、app.js内のhttpserver関連コードであり、コードのこの部分は、bin/www以下のプロジェクトディレクトリにあります。app.jsは、アプリロジックコードのみを保持するため、実行する必要があります。bin/www。非常に単純なアプリケーションと改良パッケージの依存関係バージョンの変更。


2

私は何日もこの挑戦をしていました。詳細検索の結果、特に親ソース(この場合はEXPRESSJS.COM)から利用可能なすべてのリソースを読み取る必要があることがわかりました。ここに簡単な修正があります。

バージョン4.0以降では、ノード8.2以降を実行している場合は、必ずしもexpress-generatorをインストールする必要はありません。単に走る

npx express-generator

express-generatorは、実行したときとまったく同じように実行されます。express

詳細については、「はじめに」を参照してください

幸せな読書と研究時間。


1

私は最近express-generatorをインストールしようとしていますが、それは与えるでしょう、

$ zsh : command not found : express

私がやった後だった

$ sudo npm install -g express
$ sudo npm install -g express-generator

しかし、その後、私はnpm installコマンドのコンソールログを見ました

/usr/local/Cellar/node/13.1.0/bin/express -> /usr/local/Cellar/node/13.1.0/lib/node_modules/express-generator/bin/express-cli.js

これは、実行可能エクスプレスがbinフォルダーにあることを示唆しています。

したがって、解決策は次のとおりです。〜/ .zshrcまたは〜/ .bashrcを開き、次のようにパスをエクスポートします。

export PATH=/usr/local/Cellar/node/13.1.0/bin:$PATH

現在は機能しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.