私は https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens からnode.jsサーバーのセットアップを行っています。 node.jsが初めてです。 npm install nodemon --save
をインストールしています。しかし、このnodemon server.js
でサーバーを実行すると。
端末の表示:
nodemonは、内部コマンドまたは外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません
node server.js
コマンドは機能し、サーバーを起動しましたが、nodemon
コマンドは機能していません。
https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens ビデオからノードjsサーバーをセットアップしています。
なぜ動作しないのか分かりませんが、nodemonのインストール用のコマンドを試しました。
npm install -g nodemon
npm install -g nodemon --save
npm install --save-dev nodemon
npm install -g nodemon@debug
npm install -g --force nodemon
1つのリンクを見ました nodemonをグローバルにインストールできません、「nodemon」は認識されません 、しかし、Dドライブのプロジェクトの場所のためにパスを設定する方法がわかりません。
nodemon server.js
を実行したい。誰かがアイデアを持っている場合は共有してください。前もって感謝します。
グローバルにインストールする必要があります
npm install -g nodemon
# or if using yarn
yarn global add nodemon
そして、それはパス上で利用可能になります(あなたがこれを試してみて、それが機能しなかったことがわかりました、あなたのパスが台無しになるかもしれません)
グローバルにインストールするのではなく、ローカルにインストールしたバージョンを使用する場合は、package.jsonにスクリプトを作成できます
"scripts": {
"serve": "nodemon server.js"
},
そして使用する
npm run serve
オプションで、糸を使用する場合
# without adding serve in package.json
yarn run nodemon server.js
# with serve script in package.json
yarn run serve
npmは、グローバルモジュールでコマンドを検索する前に、ローカルのnode_modulesフォルダーを検索します。
最初にnpm install --save nodemonを記述し、次にpackage.jsonに以下を記述します
"scripts": {
"server": "nodemon server.js"
},
次に書く
npm run server
Nodemonをグローバルにインストールします。
C:\>npm install -g nodemon
プレフィックスを取得:
C:\>npm config get prefix
コンソールで次のような出力が得られます。
C:\Users\Family\.node_modules_global
コピーしてください。
パスを設定します。
[システムの詳細設定]→[環境変数]に移動し、[新規作成(ユーザー変数の下)]をクリックします。ポップアップフォームが表示されます。次の値を渡します。
variable name = path,
variable value = Copy output from your console
では、Nodemonを実行します。
C:\>nodemon .
私は同じ問題に直面していました。 nodemonをdev-dependencyとしてインストールしました。サーバーを起動しようとすると、次のメッセージが表示されました。
nodemonは、内部コマンドまたは外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません
それから私はそれをグローバルにインストールし、サーバーを起動しようとしましたが、うまくいきました!
npm install nodemon -g
グローバルにインストールする必要がありますか? nodemon server.js
を実行する必要があるだけですか?そうでない場合は、ローカルプロジェクトディレクトリからいつでも呼び出すことができます。ここにあるはずです:
node_modules/.bin/nodemon
ノードプレフィックスはPATH ENV変数にないため、グローバルにインストールされたモジュールは認識されません。これを試してください。 cmdプロンプトnpm config get prefixを開き、結果のパスをPATH環境変数に追加します。これで、任意の場所からnodemonを実行できるようになります。このリンクを試して、それに従います.fixing npm permissions https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-ディレクトリ
この行はCMDの私の問題を解決しました:
npm install --save-dev nodemon
これは遅くなるかもしれませんが、気に入らないことを言った方が良いです:)
Nodemon globbalyをインストールしたくない場合は、npx
を使用できます。実行時にパッケージがインストールされ、グローバルパッケージとして動作します(現時点では利用可能であり、グローバルには存在しないことに注意してください! )。
必要なのはnpx nodemon server.js
だけです。
npx
は、[email protected]
バージョン以上からそのまま使用できます。Nodemonはdev依存関係であるため削除し、代わりにnodemonを使用します。
"scripts": {
"start": "node server.js"
},
これは私のために働いた。
上記のオプションはすべて失敗しましたが、これに対する永続的な解決策を得ました。依存関係とrun npm install
の下のpackage.jsonに次の行を追加します。これにより、nodemonパッケージがnode_modulesに追加されます。コーディングをお楽しみください。
"nodemon": "^1.17.*"
nodemon
Itと入力するだけでノードアプリを実行できます。最初にindex.jsを実行します。そのファイルにエントリポイントを簡単に配置できます。
Nodemonをインストールしていない場合は、最初にインストールする必要があります
npm install -g nodemon
許可エラーが発生した場合は、使用します
Sudo npm install -g nodemon
Nodemonが存在するかどうかは、次の方法で確認できます。
nodemon -v
Nodemonを使用するには、グローバルにインストールする必要があります。
Windowsの場合
npm i -g nodemon
Macの場合
sudo npm i -g nodemon
グローバルにインストールしたくない場合は、コマンドnpm i nodemon
を実行してプロジェクトフォルダーにローカルにインストールできます。ローカルで実行すると、次のようなエラーが発生します。
nodemon:「nodemon」という用語は、 コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペル を確認するか、パスが含まれていた場合は、パスが であることを確認して、再試行してください。
このエラーを削除するには、package.json
ファイルを開いて追加します
"scripts": {
"server": "node server.js"
},
その後、コマンドを実行するだけです
npm run server
そして、nodemonは適切に動作し始めます。
グローバルにインストールするだけ
npm install -g nodemon
Windows 10で動作しました。
nodemon app.js
次のコマンドを実行します:
npm install nodemon -g
Nodemonをインストールしますが、私の場合の問題は、nodemonを別の場所にインストールしていることです。
Nodemonがインストールされているインストール中にパスが表示されます。その後、[以下のリンクに移動してパスを確認してください] [1]
次のコマンドを試してください、うまくいけば実行されます
nodemon YourAppName.js
開発マシンで新しいユーザープロファイルを作成した後、同じ問題が発生しました。
問題は、コンソール(コマンドPrompt\powershell ISE)を管理者として実行していないことです。
管理者として実行すると、この問題は解決しました。