受験と将来とプログラミング

あると便利らしいから作った。

narou.rbをスマホだけで完結したい

知識、単語の使い方が間違っている可能性が高いです。許してください。

そもそもなぜやりたいのか

  1. スマホでなろう読む
  2. GoogleBooksにぶちこみたい
  3. だからepubが欲しい
  4. 変換するのにnarou.rbが良いらしい
  5. AndroidLinuxだからどうにかなりそう
  6. TermuxでRubyが動くらしい
  7. やろう

今どうなっているのか

Termuxに諸々の必要素材を入れ、narou.rbにLinuxだと認めさせる作業で詰まった。

筆者の知識

Linuxはほぼやったことない(適当にCentOS?っていうのを動かして鯖にしてDiscordBOT運営をしてる)
Rubyは知らない
Pythonは知ってる
FilterProxy使い
NoRootFirewall使い

スペック

SO-01K
Android 9

必要手順(知識収集)

vim(テキストエディタ)やらgit(よくあるやつ)やら、とりあえず色々入れておく。
入れてないとたまにエラーを吐かれる。まず最初に色々入れておく。
後、純粋にLocalhostのproxy噛ませてたり、VPN噛ませてるのもあるかもしれない。
qiita.com
『Homeディレクトリ~/から内部ストレージにリンクを貼る』
ubuntu-in-termuxを入れてUbuntuを動かす』

とりあえずこの通りにやってみる。

上手くいかない

調べると更新が入ったらしい
GitHub - MFDGaming/ubuntu-in-termux: This is a script by which you can install Ubuntu in your termux application without a rooted device

元のgithubを覗いて指示に従う。

ここから試行錯誤タイム(一回ごとにnarou.rb導入しようとしてる)

Javaが原因か?

Javaが存在しない。探して探して探しまくる。
JREJDK?ようわからん。とりあえず入れなければ...

github.com
これにたどり着く。

結局必要だったのかどうかは知らない。

ffiが悪さをしているらしい

なんやかんやでエラーコードが吐かれたので読んでみると
ffilibが存在しない。だとかなんとか。はぁ?
とりあえす普通に入れてみる。ダメ。
devを入れようとする。ダメ。

意味がわからない。詰んでないか?
探す。探す。

github.com
の、
apt install clang make ruby-dev libffi-dev
を打ち込んだらなんやかんや動いた。やったぜ。

まだ動かない

なんで動かないんだ、わからない。
とりあえず環境を変えてみることにする。
qiita.com
これをとりあえず試してみる。エラー吐かないで普通に入った。

手詰まり

github.com
の6で詰まった。

$ narou init
Traceback (most recent call last):
18: from /data/data/com.termux/files/usr/bin/narou:23:in `

'
17: from /data/data/com.termux/files/usr/bin/narou:23:in `load'
#省略
1: from /data/data/com.termux/files/usr/lib/ruby/gems/2.7.0/gems/narou-3.5.1/lib/device/library/linux.rb:12:in `'
/data/data/com.termux/files/usr/lib/ruby/gems/2.7.0/gems/narou-3.5.1/lib/device/library/linux.rb:13:in `': undefined method `name' for nil:NilClass (NoMethodError)

OSの名前?やらなんやらで引っ掛かる。
調べてみるとeuidがPythonで言うNoneになるらしい。だからNameがないと怒られると。
ソースを読んだ感じ、大体そう。
termuxのeuid問題なのかなぁこれ...

とりあえず、解決したら追記します。ここまでで詰まった人はコメントどうぞ。