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?

【PhpStorm】VPS上のLaravel + Vite開発で、わざわざSSHしてコマンドを打つのを卒業した話

Posted at

はじめに

Laravel + Vue (Vite) をVPS上で開発しているのですが、これまで修正のたびにこんな手順を踏んでいました。

  1. ターミナルを開く
  2. SSHでVPSにログイン
  3. プロジェクトのディレクトリに移動
  4. npm run dev などを実行

正直、めんどくさい。
「ローカルで保存したら勝手に反映されてほしい」し、「ビルドもボタン一発で終わらせたい」。

今日、PhpStormの機能をフル活用してこの苦行から卒業したので、その設定方法と**ドハマリしたポイント(パス設定や権限周り)**を共有します。

解決策の全体像

開発プロセスを以下の2つに分けました。

  1. npm run dev (開発サーバー)
    PM2 を使ってVPS上で常時起動させっぱなしにする。
  2. npm run build (本番用ビルド)
    PhpStormの「External Tools」 を使い、ボタン1つ(またはショートカット)で実行する。

1. 開発サーバーは PM2 で放置する

npm run dev はファイルの変更を監視してくれるものなので、そもそも毎回止めたり動かしたりする必要がありませんでした。
VPS上で pm2 を使って永続化します。

# プロジェクトへ移動
cd /var/www/html/my-project

# PM2で起動(名前をつけておくと管理しやすい)
pm2 start npm --name "vite-server" -- run dev

# サーバー再起動時も自動起動するように保存
pm2 save
pm2 startup

これで、PCを閉じようが何をしようが、Viteはずっと裏で働き続けてくれます。


2. ビルドは PhpStorm からワンクリックで

npm run build は常時起動する必要がないので、PhpStormの Remote SSH External Tools を使います。

設定手順

  1. Settings > Tools > Remote SSH External Tools を開く。
  2. + ボタンで新規作成。
  3. 以下のように設定する。
    • Program: npm のフルパス (後述)
    • Arguments: run build
    • Working directory: プロジェクトのフルパス

これで、メニューやショートカットキーから一発でVPS上のビルドが走るようになりました。


💀 ドハマリしたポイント(ここが重要)

設定自体は簡単そうに見えますが、いくつかエラーに遭遇しました。

トラップ1:ディレクトリが見つからない (No such file or directory)

原因: 思い込みでパスを入力していた。
VPSの構成によっては /var/www/プロジェクト名 ではなく /var/www/html/プロジェクト名 だったりします。

解決策:
横着せずにSSHターミナルで pwd を叩いて、正しいパスをコピペする。

トラップ2:npmが見つからない (env: npm: No such file)

原因: PhpStormからSSH接続する際、.bashrc などの環境変数が読み込まれず、npm コマンドへのパスが通っていない。特に NVM を使っている場合は要注意。

解決策:
Programの欄に npm とだけ書くのではなく、フルパスを書く。
ターミナルで以下を実行して調べる。

which npm
# 結果例: /home/user/.nvm/versions/node/v16.20.2/bin/npm

また、設定欄では ~ (チルダ) が使えないことがあるので、必ず /home/ユーザー名/... から記述すること。

トラップ3:権限エラー (EACCES: permission denied)

原因: 過去に sudo npm run build などをしてしまい、public/build フォルダの所有者が root になっていた。
PhpStormからは一般ユーザーとして接続しているため、上書きできずにエラーになった。

解決策:
chown コマンドで所有権を自分に戻す。

# -R で再帰的にディレクトリ内すべての権限を変更
sudo chown -R ユーザー名:ユーザー名 /var/www/html/プロジェクト名

まとめ

  • 常時動くもの(Viteサーバ)は PM2 に任せる。
  • たまに動かすもの(Build)は PhpStorm External Tools に登録する。
  • パスは絶対パス (which npm, pwd) を調べて設定する。
  • 権限エラー が出たら chown を疑う。

これで「黒い画面」を開く回数が劇的に減り、開発に集中できるようになりました!

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?