web-dev-qa-db-ja.com

グラントメッセージ:致命的なエラー:ポート35729はすでに別のプロセスで使用されています

グラントは働いていた。しかし、私のサイトのファイルを1つのディレクトリに移動した後、ルートに座るために、gruntは機能しなくなりました。

致命的なエラー:ポート35729はすでに別のプロセスで使用されています。

この場合、パスは重要ですか?ポート35729を見ると、Gruntがそのポートで実行されている唯一のプロセスであることがわかりました。私はそのプロセスを強制終了し、35729で他のプロセスが実行されていないことを確認してから、再びうなり声を上げましたが、それでも以前と同じ致命的なエラーが発生しました。

Gruntが機能していたため、設定ファイルは変更されませんでしたが、「npm init」アプローチを使用して新しいpackage.jsonを作成し、「npm install」を再度実行して、「node_modules」がダウンロードされたことを確認しました。他に何を試すことができますか?

Mac OS10.10.5でNode v0.10.33を実行しています

11
Mark Salvatore

問題が解決しました。 grunt-cliはグローバルにインストールされますが、gruntはプロジェクトとともにローカルにインストールされます。したがって、サイトのファイルを1つのディレクトリに移動し、その新しい場所からgruntを実行すると、ファイルを移動する前に起動されたgruntの以前のインスタンスによって、ポートがすでに占有されていることがわかったgruntの2番目のインスタンスを効果的に起動していました。

私がそのプロセスを殺した後、うなり声は問題なく走りました。 kill -9を使用して強制終了できなかったため、Macのアクティビティモニターを使用して「ForceQuit」を発行しました。

1
Mark Salvatore

ターミナルでCtrl+Cを使用してプロセスを停止しないでください。

Ctrl+Zは実行を継続します。

Sudo lsof -i :35729でプロセスIDを見つけます

次に、Sudo kill -9 PIDでプロセスを強制終了します

うなり声の時計を再実行します

28
Wasim Khan

私の場合、Gruntwatchはすでに別のプロジェクトで実行されていました。そこで、Gruntの監視タスクを適切に更新して、ライブリロードを別のポートで監視できるようにしました。

 watch: {
        main: {
            options: {
                livereload: 35730,
                livereloadOnError: false,
                spawn: false
            },
            files: [createFolderGlobs(['*.js', '*.less', '*.html']), '!_SpecRunner.html', '!.grunt'],
            tasks: [] //all the tasks are run dynamically during the watch event handler
        }
    }

指定されたlivereload:PORT

4
Venkat Kotra

問題は grunt-contrib-watchのライブリロード: https://github.com/gruntjs/grunt-contrib-watch/blob/v1.0.0/tasks/lib/livereload.js#L19

livereloadオプションをtrueに設定して2つのうなり声を監視することはできません。 livereloadオプションの1つをfalseに設定するか、livereloadオプションをtrueからlive-reload: 1337

詳細については、ドキュメントを参照してください: https://github.com/gruntjs/grunt-contrib-watch#optionslivereload

それ以外の場合は、必要な数のgruntプロセスを実行できます。

3
Nicu Surdu

解決 :

ステップ1

管理者としてコマンドラインを実行します。次に、以下のコマンドを実行します。 yourPortNumberにポート番号を入力します。

netstat -ano | findstr : (yourPortNumber)

enter image description here

ステップ2

次に、PIDを特定した後、このコマンドを実行します。

taskkill /PID  (typeyourPIDhere) /

コーディングをお楽しみください!

0
RAJ