開発環境がリモートサーバにあると、VSCodeなどのエディタで思うように開けなかったりすると思います。
今回紹介するsshfsを利用することで、リモートサーバでプログラムが実行されており、開発はローカルのVSCodeで開発を進めていき、保存したタイミングでリモートサーバのファイルも更新されるということができるようになります。
sshfsとは
リモートサーバのデータをローカル環境にマウントすることができます。
通信プロトコルとしてSSHプロトコルを使っているのが特徴です。
やり方
FUSE for OSXをインストール
こちらからパッケージを選択し、インストールを行ってください。
homebrewでもインストールができますが、homebrew経由でインストールすると途中でエラーを吐いてしまうので、パッケージからインストールするほうが楽です。
sshfsをインストール
こちらから最新のパッケージをダウンロードし、インストールを行ってください。
これをインストールすることで、sshfsコマンドを利用することができます。
確認
上記2つをインストールしたら、sshfsコマンドが利用できるか確認します。
$ sshfs --version SSHFS version 2.4 (OSXFUSE SSHFS 2.4.1) OSXFUSE 3.8.2 FUSE library version: 2.9.7 fuse: no mount point
sshfsとOSXFUSEのバージョンが確認できたらOKです。
利用方法
マウント方法
$ sshfs [username]@[domain]:/path_to_dir/ /mount_dir
path_to_dirは、リモートサーバ内でマウント対象のディレクトを指します。
mount_dirは、ローカルのマウントしたいフォルダを指します。
最初にmkdirでマウントディレクトを作っておくといいかと思います。
アンマウント方法
$ diskutil unmount /mount_dir
mount_dirはローカルのマウントしたディレクトを指します。
補足
今回は、エディタをVSCodeと書いておりますが、他のエディタでも同じことを行う事ができます。
- Sublime
- Atom
- JetBrains
上記のようなエディタもsshfsを用いることで、リモート環境のファイルをローカルのエディタで開けるようになります。
まとめ
これで、自分のよく使っているエディタ(僕の場合だとVSCode)で開発ができるようになります。
ssh接続のため、ファイルの更新もリアルタイムで行うことができるので、ストレスなく開発ができると思います。