何らかの理由で、npm install -g express
を使用してExpressをグローバルにマシンにインストールした後、cd
をディレクトリに入れてExpressを実行しようとすると、次のエラーが表示されます。
express: command not found.
Sudo
を指定して実行しても、同じ出力が得られます。この問題に対して複数の異なるソリューションを試しましたが、何も機能しませんでした。 homebrew
を介してノードをインストールしましたが、スタックオーバーフローのいくつかのスレッドが問題である可能性があるため、nodejs.orgのインストーラーを使用してノードを完全にアンインストールし、再インストールしました(現在v0.10.26を実行しています)。
/usr/local/lib/node_modules
に入るとExpressはそこにありますが、/ usr/local/bin内にはExpressに関することは何もありません。それが問題であるかどうかはわかりませんが、そのディレクトリに他のグローバルにインストールされたノードパッケージのバイナリがあることを考慮して、そこに何か問題があるかもしれないと考えています。
これは、インストール時に得られる正確な出力です。
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
[email protected] /usr/local/lib/node_modules/express
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
Express 4.0.0のリリースでは、Sudo npm install -g express-generator
を実行する必要があるようです。
実行する必要があります:
npm install -Gd express-generator
Cliを使用した元のエクスプレス。現在は、cliが個別のexpress-generatorパッケージに分割されています。元々プロジェクトによって生成されたのは、app.jsのhttpserver関連コード、および以下のプロジェクトディレクトリbin/www
へのコードのこの部分、app.jsがアプリロジックコードのみを保持するため、実行する必要があるため、エクスプレスノードapp.jsを実行していますbin/www
。非常にシンプルなアプリケーションと改良パッケージの依存関係のバージョン変更。
私はこの課題に数日間取り組んでいました。深い検索の後、特に親ソース(この場合はEXPRESSJS.COM)から利用可能なすべてのリソースを読み取る必要があることを学びました。ここに簡単な修正があります。
バージョン4.0以降では、Node 8.2+を実行している場合、express-generatorを必ずしもインストールする必要はありません。単に実行する
npx express-generator
エクスプレスジェネレーターは、実行時と同じように実行されます:express
詳細については、 Getting Started を参照してください
幸せな読書と研究時間。