hexoでlocalhostエラーが発生した時の解決方法と対処法
お気づきの方はお気づきでしょうが、当サイトは静的ジェネレータのhexoを利用してます。
全然利点を活用しない使い方をしてますが。
そんなhexoを使ってサイトを構築中に、突然localhostでエラーが発生することがあります。
あまり使ってる人がいないのか、検索しても日本語で対処法が出なかったので、自分への備忘録を兼ねて書いておきます。単に日本で使ってる人はプログラミングができる人が多いので、必要ないのかも。
1. hexoの基本的なlocalhost
コマンドで
1 | hexo server |
なのですが。
2. localhostエラーの原因
久しぶりに触ってコマンドを度忘れしてctrl cを間違えた結果、localhost:4000でサーバーが立ち上がらなくなりました。
以下のようなエラーが出ます。
FATAL Port 4000 has been used.
いや、使ってませんけど!
…といっても聴いてくれるような相手ではない。
赤字が怖い。「致命的エラー。別のポートを試せ。
エラー。おい、聴いてんのか。アドレスはもう使ってるって言ってるだろ!」
もしプログラミング言語が日本語だったなら、毎度こんな罵詈雑言を吐き出されるわけである。
3. エラーの解決手順
その場合の対処法。
hexoはあまり日本人サイトが出ないので、困った時の英語か中国語。
hexoは圧倒的に中国人ユーザーが多いので中国語。
こちらにありました。
FATAL Port 4000 has been used. Try other port instead.-CSDN博客
つまり、訳すと
config.ymlに以下の文字を追加。どこでもいいです。
1 | server: |
4001の部分は何でもいいよって書いてますね。
コマンドで
1 | hexo server -p 4001 |
と入力。
サーバーは
1 | http://localhost:4001 |
になるというお話アルネ。
4. 代替案
なお、こんな記事がありました。
Node.jsの開発で warn - error raised: Error: listen EADDRINUSE
って怒られるときの対応 - Qiita
なるほど。プロセスをkillすればいいのか。キル・・・
いちいち用語が怖いdeath。
まとめ
git bashでは、普通の人よりサイトを作れたりちょい詳しいレベルだと、しばしばエラーを起こしパニクります。githubサイトにプッシュすることもできるのですが、過去におかしな操作をして記事を更新できなくなったことがあり、時間が無駄なので、静的ジェネレータ使用のクセに非常にアナログな手段を取ってます。
hexoは静的ジェネレータの中でもよさげなテンプレートがあったのと簡単そうだったのでこれに移りましたが、なぜか中国人だらけ。テンプレートのイラストも、これ日本の某サイトから勝手に取ってきてないですかね?というのがしばしばあります(背景や服装が完全に日本、看板が…)。こちらで使用してる物も日本語仕様はなかったので、大体日本語に置き換えました。
過去に何もできない時になんとなく独学で勉強してた中国語がいろいろ役に立ちすぎる。
追記npmやら何やらをアップデートしろと出たので、指示通りにしたところ解消されました。npmアップデートで直るかもしれません。初心者にはいろいろ接続できなくなる危険もありますが…