So-net無料ブログ作成
検索選択

.bash_historyでRuby on Rails5インストール作業をプレイバック。 [プログラミング]

LXCにUbuntu16.04入れて、適当に一般ユーザー作る。そこから。


sudo apt install ruby
ruby -v


2.3とか結構新しいバージョンが入ってる。ver.2に入るころはかなり手を抜いていたのにね。面倒くさいからrbenvとか使わない。

gem -v


あ~rubygem一緒に入るっぽい。
これで一気にRailsが入ると思ったらどっこい。

sudo gem install rails

エラーが出た。

sudo apt install ruby-dev build-essential

まだ足りないらしくググって見る。nokogiriが悪いっぽいが。

sudo gem install nokogiri


コンパイルできないとか何とか

sudo apt install zlib1g-dev


Ubuntuのリポジトリサーバが死んでいるらしくファイルを取ってこれない。UbuntuのAPTサーバはたまに死んでいて、一日経つと復活していたりする。気長に待てないよなぁ。

仕方がないから他のものを入れる。

sudo apt install postgresql
sudo apt install elinks


elinksにおいてはずっと前に使ったっきりだから、Railsの動作確認に使えるかどうか良く分かってない。というか、まだRails入ってないから確かめようがない。

インストール作業ばっかりなんだから、わざわざ一般ユーザーでsudoする必要なかったなぁ。まぁ今度から環境設定のときは、コンテナのルートユーザーまんまで作業しよう。

あ~凡ミス。
sudo apt update && sudo apt upgrade

忘れてた。Ubuntuのメンテナさん疑ってごめんw。

すんなり通る。
sudo apt install zlib1g-dev


でもrailsは同じエラーを出していてもう一回build-essentialを入れたらコンパイルし始めた。なんでgcc入らんかったんやろ。

rails new hoge


上手くいくと思ったら、sudoの実行時にコケる。
sudo: no tty present and no askpass program specified

~/.bashrcに
alias sudo='sudo -S'
してあるから大丈夫だと思ったのに、他のスクリプト内だと有効じゃないみたい。なんか良く分からないな。LXCコンテナは色々と面倒。wettyだからnode.jsの設定でssh -tとか何とかしたほうが良さそうだ。
http://fishrimper.blogspot.jp/2012/09/ssh-sudo.html

shopt -s expand_aliases


やったけど上手くいかず。

http://qiita.com/narumi_/items/77002a12d62585da1fbe

やっぱり根本からやらんとあかんらしい。


でも問題となるところが違っていた。
まず、家に帰ってssh -t -t でつなぐようにWettyを設定してみたがダメでした。

/etc/sudoer に書いてみてもダメでした。
もしやと思い、家なので直でsshをつないでrails newを行っても
sudo: no tty present and no askpass program specified
が同じように出るので、sudoでrails newを動かしたらすんなり入って、前記のエラーが出なくなった。あんまりsudoで動かしたくないのだが仕方ない(メッセージで管理者権限で動かすなみたいなのが出てくるし)。


その後は、Sqlite関係のエラーが出るので、

sudo apt install sqlite3 libsqlite3-dev


あたりを入れたと思う。再度rails newで最後まで通る。
rails sで動かそうとするととexecjsあたりのエラーが出るので

sudo apt install nodejs


で解決。これで動くと思った。何か忘れている気もするが大体こんなもの。


LXCを抜けてホストOSに戻ってきたら、PostgreSQLが動いてた。ps axで普通に確認できた。コンテナでインストールされているものがデーモンとして動いてるのっていいのかな。ためしにコンテナを止めてみる。あ、Postgresも止まった。なんか良く分からないけど、コンテナで動いていてもホストOS側で見えるらしい。普通のプロセスは見えないのが普通だと思うけど、デーモンだからなのかもしれない。でも、なんか気持ち悪いな。コンテナでメモリ仕切っている意味ってあるのかな。

にしても、LXCコンテナの中でtmux使えないのな。どこかでUbuntu17.04を入れるとできるよ、みたいなことを書かれていた気がするが、debファイルででも入れられないものか。ちょっとしたところで、LXCで問題が出たりしていることも少なくないかも、気づいてないだけで。


タグ:Rails
コメント(0) 

Twitterまとめ投稿 2017/05/09 [Twitter]


コメント(0)