1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自動でnpmrundev

Last updated at Posted at 2025-12-23

phpstormを起動した時に

・npm run dev
・laravel起動をしたい

自動で npm run dev

run > editconfigurations

とりあえず、script text はダミーで。
before launchでサーバー側の設定をする

{D307D00F-70C7-424C-A669-7166A20752A4}.png

でbeforelaunchの + をクリック、
run rmote external tool を選択

{CBFDCF04-536B-4CD1-8135-D71008721AB5}.png

こんな感じで設定。

スタートアップに設定

「プロジェクトを開いた瞬間に、さっき作ったコマンドが勝手に走る」ように設定しましょう。 これはPhpStormの 「Startup Tasks(スタートアップタスク)」 という機能を使います。

手順は以下の通りです。

手順
設定画面を開く

左上のメニューから File > Settings を開きます。

(ショートカットキー: Ctrl + Alt + S)

「Startup Tasks」を探す

設定画面の左メニューで Tools をクリックして展開し、その中にある Startup Tasks を選びます。

(見つからない場合は、左上の検索窓に Startup と入力すると早いです)

自動起動リストに追加する

画面左下にある + (プラスボタン)をクリックします。

Add New Configuration を選びます。

リストが出てくるので、先ほど作った設定の名前(例: Vue Dev や idol npm run dev など)を選んでください。

保存する

リストに追加されたことを確認して、右下の 「OK」 を押します。

続いて laravel を 8000で起動

run > editconfigurations

{114EA019-BCBC-4B5F-9720-22B160D3DE8B}.png

で、before launchは以下に設定

{3F021AE8-B293-45C3-AED3-5A225865EA30}.png

これでok

start up にも登録

{C2AFDCD1-ED95-4F18-AC54-D1116D44E031}.png

プロジェクトを切り替えた時にも止まるようにする

プロジェクトを切り替えたときに自動で止まらない。
これでは困る。ポートのバッティング。

ということで、まずは、killをしてからportを開くようにする。

{63175179-9CAA-4E6D-BDE5-6639AA4FFADF}.png

{7A9FFD73-CFBA-4D36-A3F0-1AC863524C3C}.png

こんな感じで。
laravelも同じ用に一度8000番を止めてから起動するようにすると良い。

laravel

{17FF4F9E-BBAD-4938-8833-FF7D28446FFC}.png

{6B7AA4ED-39FD-4774-8C5C-18D10A1C3C39}.png

これで

・phpstorm 終了時
・phpstorm のプロジェクト変更時
の両方で止まる。

まとめAI

Qiita投稿用に、今回の設定ノウハウをまとめました。
ご要望通り、マウスを使わずキーボードだけで完結するよう、**「Altキーのアクセスキー(ニーモニック)」「ショートカット」**の手順を添えています。

そのままコピペして使えるMarkdown形式です。


【PhpStorm】SSH開発で「Address already in use」とサヨナラ!プロジェクト切替時にLaravel & Viteを完全自動で再起動する最強設定

PhpStormでSSH(Remote Host)上のLaravelやViteを開発しているとき、プロジェクトを切り替えるとこんな悩みはありませんか?

  • 「前のプロジェクトの php artisan serve (ポート8000) がゾンビ化して残っている」
  • 「新しいプロジェクトで起動しようとすると Address already in use で落ちる」
  • 「いちいちターミナルで kill したり fuser するのが面倒」

これを解決するために、「起動する瞬間に、邪魔なポートを掃除(Kill)してから立ち上げる」 という設定を組み込み、さらに 「プロジェクトを開いた瞬間に自動実行」 させる最強のワークフローを作りました。

今回は、マウスを使わずにキーボードだけで爆速設定するためのショートカット手順も併記します。

実現すること

  1. プロジェクトを開くと、自動で npm run devphp artisan serve が走る。
  2. 起動直前に、前回の残留プロセス(ポート8000や5173)を自動で強制終了する。
  3. 設定にはマクロ(変数)を使い、他のプロジェクトへコピペするだけで即動作するようにする。

手順1:ポート掃除屋(Killコマンド)を作る

「終了時」に綺麗にすることを諦め、「開始時」に掃除する逆転の発想です。

操作手順(キーボードのみ)

  1. **Shift + Alt + F10** を押し、リストが出たら 0 を押す。
  • これで「Run/Debug Configurations(構成の編集)」が開きます。
  1. **Alt + Insert** (または左上の +)を押し、矢印キーで Shell Script を選択して Enter
  2. Tab キーで項目を移動しながら以下を入力:
  • Name: Kill Port 8000
  • Execute: Script text を選択。
  • Script text: echo cleaning (ダミーです)
  • Execute on: 接続先のSSHサーバーを選択。
  1. ここが重要です。Alt + B** (または画面下の Before launch)へ移動し、Alt + Insert** (+) → Run Remote External Tool を選択。
  2. さらに **Alt + Insert** (+) で新規ツール作成:
  • Name: Kill 8000

  • Program: /bin/sh

  • Arguments: -c "fuser -k 8000/tcp; exit 0"

  • fuser -k で殺します。

  • ; exit 0 が重要です。プロセスがいなくてもエラーで止めないための呪文です。

  • Working directory: /var/www/html (どこでもOK)

  1. Enter で保存して閉じる。

同様に、Vite用(ポート5173)の掃除ツール Kill Port 5173 も作っておきます。
(Arguments: -c "fuser -k 5173/tcp; exit 0"


手順2:メインの起動設定を作る(マクロ活用)

サーバー上でコマンドを実行させつつ、Windows側でエラーを出さないための「Before Launch活用」構成です。

Laravel用の設定 (project laravel:8000)

  1. **Shift + Alt + F10**0 で設定画面を開く。
  2. **Alt + Insert**Shell Script を作成。
  3. 以下を設定:
  • Name: project laravel:8000
  • Script text: echo start (ダミー)
  1. Before launch (Alt + B) に以下の2つを登録し、順番をこの通りにします
  2. Kill Port 8000 (手順1で作った設定を選択)
  3. Run Remote External Tool (新規作成)
  • Program: php
  • Arguments: artisan serve --host=0.0.0.0 --port=8000
  • Working directory: /var/www/html/$ProjectName$
  • $ProjectName$ マクロを使うことで、フォルダ名を自動取得します。コピペ時に書き換え不要になります。

Vite用の設定 (project npm run dev)

同様に作成します。

  1. Name: project npm run dev
  2. Script text: echo start
  3. Before launch の順番:
  4. Kill Port 5173
  5. Run Remote External Tool
  • Program: npm
  • Arguments: run dev
  • Working directory: /var/www/html/$ProjectName$

手順3:プロジェクト起動時に自動実行させる

作った設定を「スタートアップタスク」に登録します。

操作手順(キーボードのみ)

  1. Alt を押し、メニューバーにフォーカスしたら F (File) → T (Settings) の順に押す。(または Ctrl + Alt + S
  2. 左上の検索窓に Startup と入力。
  3. 矢印キーで Startup Tasks を選び Enter
  4. **Alt + Insert** (または + ボタン)を押し、作成した project laravel:8000project npm run dev を追加。
  5. Enter で完了。

運用イメージ

  1. プロジェクトA (idoldebut) を開く
  • 自動でポート8000と5173を掃除 → サーバー起動。
  1. プロジェクトB (renkatu) に切り替える
  • PhpStormで「This Window」で開く。
  • 起動した瞬間、まず「Kill Port 8000」が走り、前のプロジェクトAのゾンビプロセスを抹殺。
  • その後、きれいな状態でプロジェクトBのサーバーが立ち上がる。

「ポートが埋まっています」というエラーを見ることは二度となくなります。

おまけ:他のプロジェクトへの移植方法

マクロ ($ProjectName$) を使っているので、移植は爆速です。

  1. 元のプロジェクトで **Shift + Alt + F10**0
  2. 設定リストを選択して **Ctrl + C**
  3. 新しいプロジェクトを開き、同様に画面を開いて **Ctrl + V**
  4. あとは Startup Tasks に登録するだけ。

パスの書き換え不要で、全く同じ快適環境が構築できます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?