旦那が学習目的で2年ほど前からchinachuを利用しています。
私もたまに英会話学習の番組の録画などで使用させていただいているのですが、最近挙動がおかしくなったということで、再インストールする羽目になりました。
すぐに終わるだろうと思って作業を始めたのですが、何と復旧に1日かかってしまいました。
旦那は自分自身の生産性の無さに絶望しています。
スポンサーリンク
どこでつまづいた?
最初はnode.jsのインストールで。
普段、chinachuはこちらのサイトを参考にして導入しています。
大変よくまとめられており、これまで導入に困ったことはなかったのですが…
先日確認したところ、Mirakurunの要求しているnode.jsのバージョンが
Bold is the recommended. also, Node.js ^8.17.0 < 9 || ^10.15.0 < 11 || ^12.14.0 < 13 needed.
となっておりましたので、どうせなら新しい方が良いだろうとnode.jsの最新安定バージョンを入れたのが失敗の始まりでした。
以下のようなメッセージが出て、npmがインストールされません。
$ sudo apt-get install npm
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:
サイトに記載されていたとおりnode.jsのインストール方法を参考に
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
$ sudo apt-get install nodejs
としてインストールしたのですが…
最終的にはUbuntuに最新のNode.jsを難なくインストールするを参考に
$ sudo apt install -y nodejs npm
#次に n package を導入します。
$ sudo npm install n -g
#最後に n package を使って node をインストールします。
$ sudo n stable
#混乱を避けるべく、最初に入れた古い nodejs, npm は消します。そして再ログイン。
$ sudo apt purge -y nodejs npm
$ exec $SHELL -l
としてnode.jsの最新版をインストールしました。
次は./chinachu installerでハマりました。
上記のようにnode.jsをインストールすることで、mirakurunは無事に動くようになりましたので、chinachuをインストールしようと
# sudo adduser chinachu
パスワード入力以外はEnterキー押下のみでOKです。
以降はユーザーchinachuになって作業を進めます。
Ubuntuの場合)
# sudo -i -u chinachu
Debianの場合)
# su - chinachu
$ git clone -b gamma git://github.com/kanreisa/Chinachu.git ~/chinachu
$ cd ~/chinachu
$ ./chinachu installer
と実行すると、下記のようなエラ〜メッセージが出てnodeの一部のインストールが必ず失敗するようになりました。
ERR! stack Error: EACCES: permission denied, mkdir '/home/chinachu/chinachu/node_modules/diskusage/build'
フォルダのパーミッションを変更するも効果なし。
そもそもsudoで実行していましたので…
どうすれば良いか検索すること小一時間、同様の問題を抱えていたいらっしゃった方が、
nodejsやnpm、Mirakurunがすでに動く状態で、
①./chinachu installer
で 2) submodule のみをインストールします。
②./chinachu service wui execute
を実行し、エラーを出させます。
③sudo npm install -g npm-install-missing
sudo npm-install-missing
で足りないモジュールを入れます。
とすると動くようになったという話をしていましたので、実行しましたが、効果なし。
最終的に
npm install —unsafe-perm
と実行して、無理やりインストールしました。何でもnpmをsudoで実行するのは推奨されておらず、上記の様に実行しないとうまく動かないそうです。知らんがな。
最後はなぜかchinachu-operatorが動かず…
必要なモジュールもインストールできたし、これで動くだろうとchinachuを開くと番組表は出るものの、録画はできず。
どうやらchinachu-operatorがうまく動作していない模様
サイトに
正常動作しない場合、config.jsonの設定内容を確認して下さい。また、以下のログファイルも確認して下さい。
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
末尾が”stderr.log”のファイルがエラーログなので、そちらを重点的に確認しましょう。
と記載されていましたので、ログをそれぞれ確認すると/usr/local/var/log/chinachu-operator.stderr.log
に
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing
との表示が…
node.jsのリリース一覧を確認すると12.0.0以降のモジュールが72となっている模様。
node.jsを再インストールする羽目になりました。
幸いにも最初にnを利用してnode.jsをインストールしていましたので、
sudo n 10.19.0
として、node.jsのバージョンを切り替えて、chinachuのフォルダを全削除、再度インストール作業を行うことで、無事に動くようになりました。
旦那の休日は1日無駄になりましたが..
時間に余裕がある若い方はスクールで勉強した方が良いのでは?
こういったことが多々ありますので、
そんなに好きならきちんとスクールなり何なりに通って教わったら?
と言ってみたのですが、
プログラミングのスクールなんか勿体ない。検索すれば解決方法は出てくるし。
と言って通おうとはしないんですよね。
確かに旦那は全くITとは全く縁のない業種の仕事ですので、困ることはないのでしょうが、今回の件もきちんと体系的に勉強していないから発生したのではないかと思うんです
node.jsのインストールの方法などをきちんと理解していればここまでハマることも無いと思いますので..
若い方こそ、時間を無駄にしない様にスクールで学ぶなり、メンターを見つけるなりした方が良いかもしれませんよ!
こちらの学校なんかはオンラインで受講できますのでオススメです!
こんなことで時間を無駄にすることがない様に、これからはwordpressだけでなく、他のプログラミング言語なども勉強していきたいと思います。