OSのインストールと設定が済んだら、必要なものをインストールする。
Sambaは、aptコマンドでインストールできるが、Webminは厄介だ。
/etc/apt/sources.list にリポジトリを追加しただけではだめで、
aptにキー情報を追加しないといけない。
これでaptコマンドでインストールができる。
次はアプリのインストールだ。
これがなかなか大変で、うまくいくときはうまくいくが、
ダメになったら何をやってもだめだ。
インストール自体は、お膳立てはあるけれども以下の4つのコマンドだけ。
$ git clone https://github.com/l3tnun/EPGStation.git
$ cd EPGStation
$ npm run all-install
$ npm run build
この3個目と4個目、これが一筋縄ではいかない。
ビルドによく失敗する。
何回も失敗してようやくビルド成功へのコツをつかんだ。
肝は、npmとnodeのバージョンを特定のバージョンにすることだ。
アプリのサイトにも、必要なバージョン情報は書いてあるが、
バージョン情報の幅が広いのでどれを選択するか、迷う。
数字の小さいバージョンからやったのが失敗だった。
結局、指定バージョンでも数字の大きい方のバージョンを選択するのが正解。
不用意に最新バージョンを入れるとドツボに嵌る。
というか、ビルド途中で、npmの最新バージョンがあるからUpgradeしろ、
というメッセージが出るので、その通りにしたらバージョンが上がりすぎて失敗した。
何を信じてやればいいのか、何度も騙される。
こういう痛い目に何度も逢わないと成功への道は開けない。
楽しんでやっているうちはいいのだけど、段々余裕がなくなってくると
ハンマーを持ってきて思いっきり破壊したくなる。
気を取り直して、元のバージョンに戻す。
それでもビルドエラーが出たら、プロジェクトまるごと削除して、最初からやり直す。
ビルドエラーは、はっきり言って訳が分からない。
というのも、エラー内容が間違っているとしか思えないのだ。
Access deniedとか、unlinkとかは、アクセス制限していないにも関わらず出る。
こうなったら何をしてもこのエラーが出続ける。
その場合は、プロジェクトまるごと削除して、最初からやり直すしかない。
これで訳の分からないエラーが不思議と解消するのだ。
おいらは、性格的にはあきらめが早くて、すぐに匙を投げるタイプなんだけど
この手のことは実に執念深く食らいつくのが自分でも不思議だと思う。
ビルド途中、ワーニングがいっぱい出るが、そのまま続行する。
バージョンが古いから新しいのを使えという内容だけど、一々対処できない。
というか不用意に新しいのを使うと逆に嵌るんだよ。
やっとビルド完成するが、ワーニングが3つ出る。
(昔はこのワーニングは出なかったはず)
これは出力したモジュールのサイズが閾値を超えたがダイジョブか?
モジュールを縮小するなり分割するなりして小さくしたらどうや?
という内容なんだけど、どうしようもないのでこのまま使う。
このアプリはおそらくJAVAで作成したWebアプリだと思うんだけど、
おいらは中身を見てもさっぱりわからない。
だけどありがたく使わせていただいている。
JAVAで組むメリットというのは、OSを問わないことだ。
LinuxでもMACでもWindowsでも、それぞれの環境でビルドする必要はあるが、
同じソースコードでOSを問わずにアプリが組める。
PixInsightも同じ戦略(JAVA)をとっているのはこのためだと思う。