質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Q&A

解決済

2回答

5511閲覧

Chromebook(Crosh)でchromebrewインストール時にrubyのエラー

ggyuya

総合スコア16

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

0グッド

0クリップ

投稿2016/03/15 06:40

編集2016/03/27 07:39

環境

  • Chromebook ASUS Chromebook Flip C100PA
  • OSバージョン 48.0.2564.116

shell

1$ uname -a 2Linux localhost 3.14.0 #1 SMP Thu Mar 10 05:01:32 PST 2016 armv7l ARMv7 Processor rev 1 (v7l) Rockchip (Device Tree) GNU/Linux

エラー

shell

1chronos@localhost ~/temp $ ruby 2<internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError) 3 from <internal:gem_prelude>:1:in `<compiled>'

やったこと

  • chromebrewをinstallしたかったため、下記からinstall.shをダウンロード

https://github.com/heri/Submarine-Chromebook

shell

1chronos@localhost ~/temp $ wget https://raw.github.com/heri/chromebrew-arm/master/install.sh | bash 2chronos@localhost ~/temp $ sudo sh install.sh

このinstall.shの実行でも上述のエラーになります。
chromeOSもrubyも詳しくないのですが、macでやっていたこと(rubyとかgitとかredisとか)入れて遊ぼうと考えていたのですけど...
調べても理解できていないためよくわからずです。
お時間ある方、教えてください。

追記
  • rubyのバージョンです

shell

1chronos@localhost ~/temp $ ruby -v 2ruby 2.0.0p598 (2014-11-13 revision 48408) [armv7l-linux-eabihf]
  • rbconfigがloadできないというエラー
chronos@localhost ~/temp $ crew /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `require': cannot load such file -- rbconfig (LoadError) from /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

crewのインストールができていないため解決ではありません。
croutonでubuntuを入れてやりたいこと(chromebookをおもちゃにして遊ぶ)の代替としています。
以下はその設定記録です。


デベロッパーモードで、
ctrl + alt + t でcrosh開いて、

shell

1crosh > shell 2$ sudo dev_install

をしている前提で、

shell

1$ wget http://goo.gl/fd3zc -O ~/Downloads/crouton 2$ sudo sh -e ~/Downloads/crouton -r trusty -t xfce,leybord,audio,extension,chrome -e 3$ sudo startxfce4

ubuntu起動してターミナルから、

フォントと言語の設定

shell

1$ sudo apt-get install fonts-takao 2$ export LANG=ja_JP.UTF-8 3$ sudo locale-gen $LANG 4$ sudo update-locale $LANG 5$ sudo apt-get install ibus ibus-mozc 6$ sudo apt-get install language-selector-gnome

PPAの追加

shell

1$ sudo apt-get install software-properties-common 2$ sudo add-apt-repository ppa:japaneseteam/ppa 3$ sudo add-apt-repository ppa:brightbox:ruby-ng 4$ sudo apt-get update

日本語パッケージの追加

shell

1$ sudo apt-get install ubuntu-defaults-ja

起動時にibusを追加(~/.xprofileに書くのが正しいのかな?)
ApplicationsMenu -> Settings -> Session and Startup -> ApplicationAutostart
Command: ibus-daemon -rdx

ibusの日本語入力設定追加(~/.xprofileに書くのが正しいのかな?)

shell

1$ sudo su - 2# mousepad /etc/profile 3export GDM_LANG=ja 4export GTK_IM_MODULE=ibus 5export XMODIFIERS=@im=ibus 6export QT_IM_MODULE=ibus

gitの追加

shell

1$ sudo apt-get install git build-essential libssl-dev 2$ git config --global user.name "hoge" 3$ git config --global user.email "piyo@fuga" 4$ git config --global merge.ff false

rbenvのインストール

shell

1$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv 2$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build 3$ vi ~/.profile 4export PATH="$HOME/.rbenv/bin:$PATH" 5eval "$(rbenv init -)" 6$ source ~/.profile

ruby2.3.0インストール

shell

1$ sudo apt-get install -y libreadline-dev 2$ rbenv install 2.3.0 3(rubyインストールに失敗することがあって、dfみると/tmpが100%だったんで要らないの消したりした)

2.3.0しかないけどrehashしてrubyを使えるようにする

shell

1$ rbenv rehash 2$ rbenv global 2.3.0 3$ ruby -v 4ruby 2.3.0p0 (2015-12-25 revision 53290) [armv7l-linux-eabihf] 5& ruby -e 'print "Hello World\n"' 6Hello World

vimの追加と設定

shell

1$ sudo apt-get install vim 2$ sudo update-alternatives --set editor /usr/bin/vim.basic

トラックパッドの方向をナチュラルにする

shell

1$ xinput list 2$ xinput list-props 8 | grep "Scroolling Distance" 3$ xinput set-prop 8 280 -59 -59

git-flowとtig

shell

1$ wget --no-check-certificate -q -O - https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo bash 2$ sudo apt-get install tig

投稿2016/03/23 18:37

ggyuya

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

internal:gem_prelude:1:in `require': cannot load such file -- rubygems.rb (LoadError)

from <internal:gem_prelude>:1:in `<compiled>'

ruby自体のインストールは成功してますか?`<compiled>'で何らかのミスがあり必要なライブラリが揃っていないようです。
(当方もOSXなのでエラーメッセージだけで判断してます)

投稿2016/03/15 15:27

NCC1701

総合スコア1680

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ggyuya

2016/03/16 04:30

コメントありがとうございます。 初心者で理解が浅いですが、rubyコマンド自体は打てるのでinstallはできているようなのですが...
NCC1701

2016/03/16 22:44

rubyライブラリを検索できていないのかもしれません。 シェルから ruby -e 'puts $:' を実行して,/usr/local/lib/ruby/2.0.0が出力されるか試してみてください。 また,sh系なら RUBYLIB=/usr/local/lib/ruby/2.0.0 export RUBYLIB csh系なら setenv RUBYLIB /usr/local/lib/ruby/2.0.0 としてから,rubyの実行を試してみてください。 それとchromebrewのインストールにsudo sh install.shは不要ではないですか?(chrome brewに詳しくないので不確かですが,homebrewではsudoは不要です。)その結果/usr/local以下でパーミッションがデフォルトと変わってしまっている可能性があります。
ggyuya

2016/03/17 01:55

いつも、ありがとうございます。 install.shをコピーして弄って、試し試しトライアンドエラーで原因を探っておりましたが未だ解決に至っておりませんでした。 教えていただいたことを下記の通りやってみました。 まず、 `ruby -e 'puts $:'` を実行したところ状況は変わりませんでした。 ```shell chronos@localhost ~/temp $ ruby -e 'puts $:' <internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError) from <internal:gem_prelude>:1:in `<compiled>' ``` 次に、rubyのパスの環境変数設定をしたところ、エラーの内容が変わりました。 rubygems.rbはloadされ、そのなかで今度はrbconfigがloadできないと。 ```shell chronos@localhost ~/temp $ RUBYLIB=/usr/local/lib/ruby/2.0.0 chronos@localhost ~/temp $ export RUBYLIB chronos@localhost ~/temp $ ruby /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `require': cannot load such file -- rbconfig (LoadError) from /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>' chronos@localhost ~/temp $ ruby -e 'puts $:' /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `require': cannot load such file -- rbconfig (LoadError) from /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>' ``` 次に、install.shのキックでなぜかsudoを付けておりましたので付けずに実行してみました。 状況は上記と同じでした。 ```shell chronos@localhost ~/temp $ sh install.sh ... /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `require': cannot load such file -- rbconfig (LoadError) from /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>' /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `require': cannot load such file -- rbconfig (LoadError) from /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>' ``` やったことは以上になります。 おかげさまで1歩先に進めたと思います。 また、ご指摘の通り、権限の問題な気がしてきました。 今回明らかになったrbconfigが読み込めない状況をみて、もう少し、いろいろ学びながら試していきたいと思います。
ggyuya

2016/03/17 01:56

あら。markdown使えないのか... 読みづらくてすみません。
ggyuya

2016/03/17 02:43

あれれ、rbconfigって、directoryのようですね... chronos@localhost ~/temp $ find /usr/ -name rbconfig -exec ls -l {} \; total 8 -rw-r--r-- 1 root root 506 Mar 17 11:37 datadir.rb -rw-r--r-- 1 root root 814 Mar 17 11:37 obsolete.rb total 8 -rw-r--r-- 1 chronos chronos 506 Jan 19 2011 datadir.rb -rw-r--r-- 1 chronos chronos 814 Jan 11 2013 obsolete.rb find: `/usr/share/oem/lost+found': Permission denied
NCC1701

2016/03/17 03:13

ls /usr/local/lib/ruby/2.0.0 をやってみて標準添付ライブラリ(http://docs.ruby-lang.org/ja/2.1.0/library/index.html)は揃っているでしょうか? もし揃っているなら、エラーの原因は、ライブラリ探索パスが壊れていることになります。RUBYLIBで一時的に指定してやることもできますが、根本的な解決ではないので、ruby自体を一旦アンインストールして、再度インストールした方が良いでしょう。 標準添付ライブラリが揃っていないなら、ruby自体のインストールに失敗しています。 Chrome OSをあまり知らないので、的外れな質問かもしれませんが、chromebrewをインストールするときデベロッパーモードにしましたか? (http://chromesoku.com/chromebrew/を参考にしてます)
NCC1701

2016/03/17 03:32 編集

11:43のコメントを見落としてました。きになる点が2つ -rw-r--r-- 1 root root 506 Mar 17 11:37 datadir.rb で root:rootとなってる点、rootしか読み出せなくなっています。 sudo chown -R $USER /usr/local でパーミッションを変更してみてください。 datadir.rbが2回出てきてますが、同じものですか(シンボリックリンクの元)?
ggyuya

2016/03/17 08:52

いつもありがとうございます。 本当に助かります。 出先でして取り急ぎになりますが、 標準添付ライブラリは後ほど調べてみます。 chromeOSでデベロッパーモードにしています。 所有者変更は後ほどやってみます。 ただinstall.sh内でもたしかやっていたように見えましたが、前述のfindの結果を見ますとrootになっていますので、見間違いかもです。 datadir.rbが2回find結果に現れているのは、install.shでのインストールでは /usr/local/tmp/crew/usr/local/lib/ruby/2.0.0/ というディレクトリができていて、そこにあるものと /usr/local/lib/ruby/2.0.0/ にあるものがfindにあがったものでした。 あ、そうか、install.sh内では /usr/local/tmp/crew/usr/local/lib/ruby/2.0.0/ にあるものに対して chown -R $USER:$USER していたのかもしれませんね chronos chronos となっていますから。 以上、後ほど確認致します。
ggyuya

2016/03/18 09:51

所有者変更後、実行しても状況は変わりませんでした。 ライブラリを確認しました。 http://docs.ruby-lang.org/ja/2.0.0/library/index.html リンクにはrbconfigが .rb のファイルなようですが、 こちらにあるのはディレクトリなのと、 chronos@localhost ~/temp $ ls -lha /usr/local/lib/ruby/2.0.0/ drwxr-xr-x 2 chronos root 4.0K Mar 18 18:19 rbconfig drwxr-xr-x 8 chronos root 4.0K Mar 18 18:20 rubygems -rw-r--r-- 1 chronos root 28K Mar 18 18:19 rubygems.rb ... そもそもARM用カーネルの違いで、 installするrubyのライブラリが違うようでして、 chronos@localhost ~/temp $ /usr/local/bin/ruby -v ruby 2.0.0p598 (2014-11-13 revision 48408) [armv7l-linux-eabihf] こちらのrubyのライブラリがinstallされており、 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/tags/v2_0_0_598/lib/?pathrev=48408 当然この内容のものが当方にもinstallされ、 rubygems.rbはrbconfig.rbを参照しようとしていてエラーになっていると..。 こうなってきますとp598がそもそも不具合なのか、なんなのか、 難しい状況になってまいりました。(と感じています) いったん、chromebrew側と切り離して、rubyのこととして、 教えていただいたruby-lang.orgのコミュニティで聞いてみようかと思います。 (でもなぁ、chromebrewのことを話さないと状況を伝え難いしなぁ、chromebrewのこと話せばマルチポストのように受け取られそうで悲しいけど、諦めずがんばってみます) teratail初投稿で自分には難題でしたが、、 いろいろとアドバイスいただきありがとうございました。 できればこのまま回答を受け付け中の状態として残し、進捗経過を報告致します。
NCC1701

2016/03/18 11:21

chromebrew 自体のインストールは成功して,gitやgccといったツール群は揃っているのですよね? だとしたら,いっそrubyだけインストールしなおしたらどうでしょうか?特にruby2.0はサポートが終了してますし,rbenvなど使えばrubyのバージョンも管理できるので。
ggyuya

2016/03/18 12:49

ありがとうございます。 chromebrewのインストールは成功といえば成功していますが、 $ crew [install git] の実行でエラーになりますので失敗状態にあります。 また、ちょうど今ruby-lang.orgのニュースらんを見ておりまして、2.0.0のサポートが終了したことを知りました。 では、と思い、最新のruby2.3をダウンロード、解凍してlib/を覗いてみると、rbconfigというのはやはりディレクトリなんだと気付きました。 とするとrbconfigがディレクトリなのは間違いではないので私の思い込みでしたね。。。 で、がんばって最新のrubyでソースインストールということをしてみます。 # chromecrewのインストール(install.sh)では、自身のインストール後に $ crew install git などを実行します。そういう箇所でエラーになっているという状況でございました。
NCC1701

2016/03/19 03:14

若干荒療治ですが、以下のcrewディレクトリを丸ごと一旦削除して再インストールするのはどうでしょうか? /usr/local/lib/crew /usr/local/etc/crew /usr/local/tmp/crew install.shを読んだところ、rubyはすでにビルドしてあるものを/usr/local/bin等に配置してあるだけのようです。(手元のマシンでmakeしてるわけではない。)なので、うまくコピーができていなかったのかもしれません。また、install.shも完了していない気配があります。 今の時点で、私が考えられる対策は次の二つです。 1.上記のようにcrewディレクトリを削除して、chromebrewのインストールをやり直す。 2.別バージョンのrubyをインストール(ビルド)して、install.shの#download, prepare and install chromebrew行以下を実行する。 です。
ggyuya

2016/03/22 06:59

いつもありがとうございます またレスが遅くなっておりすみません。 いただいたご提案を試していますがまだうまくいっていません。 rubyのビルド(./configure)がうまくいってないもので... もう少しがんばってみます。
ggyuya

2016/03/22 10:24 編集

$ cp -rfp ruby-2.3.0/ /usr/local/lib/ $ cd /usr/local/lib/ruby-2.3.0/ $ ./configure checking for ruby... false checking build system type... armv7l-unknown-linux-gnueabihf checking host system type... armv7l-unknown-linux-gnueabihf checking target system type... armv7l-unknown-linux-gnueabihf checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/usr/local/lib/ruby-2.3.0': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details $ $PATH bash: /usr/local/bin:/usr/bin:/bin:/opt/bin: No such file or directory Cコンパイラがないというエラーのようですね... うーん、楽しいけど、いろいろ難しいですねぇw ただ、/usr/local/lib/ruby-2.3.0/lib/にはRubyのソースファイル群があるので、これをcrewのinstall.shがダウンロードしているRuby2.0.0のlibに入れ替えるかリンクにするか...いやいや、$RUBYLIBに/usr/local/lib/ruby-2.3.0/lib/にしてやればいいのかしら。 $ ruby /usr/local/lib/ruby-2.3.0/lib/rubygems.rb:9:in `require': cannot load such file -- rbconfig (LoadError) from /usr/local/lib/ruby-2.3.0/lib/rubygems.rb:9:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>' うーん。いずれもうまくはいかないですね... このchromebookとwebで言われているchromebookでosのバージョンが違うんだろうなぁ。 皆さん簡単にcrew入れているみたいですから。 とりあえず、Cコンパイラというやつを探して入れて./configureできるようにしてみます。 追記: ひょっとして2.0.0でも2.3.0でも同じエラー内容ということは、2.3.0をmakeしても状況は変わらないのでしょうかね(汗) ま、やってみます。
ggyuya

2016/03/23 16:05

なんというか、追記です。 うーん。 はぁ。 一般人が手を出してはいけない気がしてきました。 さっぱりわからなくなりました...。 いろいろ教えていただき、アドバイスくださり、本当にありがとうございます。 gccというのがコンパイラというのはわかりましたが、はて、どうやってインストールするのかもわからず、手詰まりでございました。。 なぜchromebookをお持ちの方が簡単にcrewをインストールできるのか、同じARM版なのに...と、よくわからないままですが、そのあたりが解決しないとなにをするにもうまくいかない循環になってきています。 ただ、croutonというubuntuを同居させる仕組みがあり、そこでならrubyインストールが可能でした。 chromeOSで遊びたかったのに仮想マシンみたいなのにlinuxの別のディストリビューション入れてそこで遊ぶとか本末転倒な訳ですが..。 一度、この質問は終わらせたいと思います(ちょっとだけこのままにしておきますが)。 最後にcroutonでの設定を書いておきます。 お付き合いいただきありがとうございました。
ggyuya

2016/03/23 18:32 編集

-
NCC1701

2016/03/23 22:57 編集

chromebrewのインストール段階でrbconfigが無いとのエラーでした。 そこで成功するかどうか不明ですが、rbconfig.rbを偽装してしまうのはどうでしょう。場所はrbconfigディレクトリと同じ階層です。 内容はこれ https://github.com/ruby/ruby/blob/ruby_2_1/lib/rbconfig/obsolete.rb もちろんファイル名はrbconfig.rbです
ggyuya

2016/03/25 01:24

おお。確認いたします!
ggyuya

2016/03/27 02:04 編集

これであっているでしょうか。ちょっと不安ですが。 2.0.0の方にobsolete.rbがあったのでRUBYLIBのパスが通っているほうにcp chronos@localhost / $ cp -rfp /usr/local/lib/ruby/2.0.0/rbconfig/obsolete.rb /usr/local/lib/ruby-2.3.0/lib/rbconfig.rb chronos@localhost / $ ls -la /usr/local/lib/ruby-2.3.0/lib/ drwxr-xr-x 2 chronos chronos 4096 Mar 25 19:08 rbconfig -rw-r--r-- 1 chronos chronos 814 Mar 22 18:54 rbconfig.rb 実行。エラー内容が変わる! chronos@localhost / $ crew /usr/local/lib/ruby-2.3.0/lib/rubygems.rb:9:in `require': Use RbConfig instead of obsolete and deprecated Config. /usr/local/lib/ruby-2.3.0/lib/rubygems.rb:10:in `require': cannot load such file -- thread (LoadError) from /usr/local/lib/ruby-2.3.0/lib/rubygems.rb:10:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>' もしかしたらrbconfig/obsolete.rbもなきゃいけないかな?と思い... chronos@localhost / $ cp -rfp /usr/local/lib/ruby/2.0.0/rbconfig/obsolete.rb /usr/local/lib/ruby-2.3.0/lib/rbconfig/ chronos@localhost / $ ls -la /usr/local/lib/ruby-2.3.0/lib/rbconfig/ total 20 drwxr-xr-x 2 chronos chronos 4096 Mar 25 19:08 . drwxr-xr-x 21 chronos chronos 4096 Mar 25 19:07 .. -rw-r--r-- 1 chronos chronos 537 Dec 16 14:07 datadir.rb -rw-r--r-- 1 chronos chronos 27 May 18 2011 .document -rw-r--r-- 1 chronos chronos 814 Mar 22 18:54 obsolete.rb 実行。 chronos@localhost / $ crew /usr/local/lib/ruby-2.3.0/lib/rubygems.rb:9:in `require': Use RbConfig instead of obsolete and deprecated Config. /usr/local/lib/ruby-2.3.0/lib/rubygems.rb:10:in `require': cannot load such file -- thread (LoadError) from /usr/local/lib/ruby-2.3.0/lib/rubygems.rb:10:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>' 変わらないか。 rubygems.rbの中を確認。 chronos@localhost / $ less /usr/local/lib/ruby-2.3.0/lib/rubygems.rb # frozen_string_literal: false # -*- ruby -*- #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ require 'rbconfig' require 'thread' ... ふーん。 なら、2.0.0で偽装をやってみよう。 chronos@localhost / $ cp -rfp /usr/local/lib/ruby/2.0.0/rbconfig/obsolete.rb /usr/local/lib/ruby/2.0.0/rbconfig.rb chronos@localhost / $ RUBYLIB=/usr/local/lib/ruby/2.0.0/ chronos@localhost / $ export RUBYLIB chronos@localhost / $ $RUBYLIB bash: /usr/local/lib/ruby/2.0.0/: Is a directory 実行。お。 chronos@localhost / $ crew /usr/local/lib/ruby/2.0.0/rubygems.rb:8:in `require': Use RbConfig instead of obsolete and deprecated Config. /usr/local/lib/ruby/2.0.0/rubygems/compatibility.rb:46:in `block in <module:Gem>': uninitialized constant RbConfig::CONFIG (NameError) from /usr/local/lib/ruby/2.0.0/rubygems/defaults.rb:28:in `yield' from /usr/local/lib/ruby/2.0.0/rubygems/defaults.rb:28:in `default_dir' from /usr/local/lib/ruby/2.0.0/rubygems/specification.rb:638:in `default_specifications_dir' from /usr/local/lib/ruby/2.0.0/rubygems/specification.rb:653:in `each_default' from /usr/local/lib/ruby/2.0.0/rubygems/specification.rb:698:in `load_defaults' from /usr/local/lib/ruby/2.0.0/rubygems.rb:1104:in `<top (required)>' from <internal:gem_prelude>:1:in `require' from <internal:gem_prelude>:1:in `<compiled>' エラーをwebで見てると、どうやらいつからかs/Config/RbConfig/gということらしい。 でもそのエラー箇所の該当行をみると... chronos@localhost / $ less -N /usr/local/lib/ruby/2.0.0/rubygems/compatibility.rb 42 unless defined?(ConfigMap) 43 ## 44 # Configuration settings from ::RbConfig 45 ConfigMap = Hash.new do |cm, key| 46 cm[key] = RbConfig::CONFIG[key.to_s] 47 end 48 else 49 RbConfigPriorities.each do |key| 50 ConfigMap[key.to_sym] = RbConfig::CONFIG[key] 51 end 52 end RbConfigさんになっている...理解できんw 今回rbconfig.rbを偽装したことにより(これで合ってるか不安)、rbconfig.rbのloaderrorがなくなり、rubyの処理に入っている感じですね。 でも今度はその処理のなかで使用されている定数がuninitializedだと言われている。 rubyを知らない私には憶測でしかないけど、rbconfig.rbを用意したあとにmakeということをしなければならないのでしょうかね。 ちょっとググります!
NCC1701

2016/03/27 05:41

Rbconfig はビルド時のデータを保持しているライブラリのようです。 ありていに言えば、単なる定数群 そこで、install.shを見たら、rubyはあらかじめビルドされていて単にコピーしているだけの様子。で、そいつをダウンロードして展開すると、展開ディレクトリにありました。./usr/local/lib/ruby/2.0.0/armv7l-linux-eabihf/rbconfig.rbというファイルです。これをコピーかリンクで配置して試してみましょう。(なんか実験台のようにしてしまって申し訳ないです)rubyは2.0.0側を使います。chromebrew を騙すために。
ggyuya

2016/03/27 06:05 編集

やややや! chronos@localhost /usr/local/lib/ruby $ cp -rfp /usr/local/lib/ruby/2.0.0/armv7l-linux-eabihf/rbconfig.rb /usr/local/lib/ruby/2.0.0/rbconfig.rb chronos@localhost /usr/local/lib/ruby $ crew /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- socket.so (LoadError) from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/2.0.0/socket.rb:1:in `<top (required)>' from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/2.0.0/net/protocol.rb:21:in `<top (required)>' from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/2.0.0/net/http.rb:22:in `<top (required)>' from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/bin/crew:3:in `<main>' chronos@localhost /usr/local/lib/ruby $ find /usr/local/lib/ruby/ -name socket.so /usr/local/lib/ruby/2.0.0/armv7l-linux-eabihf/socket.so エラーが変わり、armv7l-linux-eabihf/* 配下にあるものがloaderrorになってます! ということは同じ要領で cp か ln すればいけるのかもしれません! 取り急ぎ!
NCC1701

2016/03/27 06:14

どうやらライブラリの探索ができてないのかもしれません。だとすると、その問題を手当てした方が良いようです。で無いと、次から次へコピーを繰り返すことになりそうです。
ggyuya

2016/03/27 07:38

ありがとうございます。 そのようです。 1つずつ見ようと思いましたが面倒なので↓したところ、 $ cp -rfp /usr/local/lib/ruby/2.0.0/armv7l-linux-eabihf/* /usr/local/lib/ruby/2.0.0/ crewコマンドが利用可能になりました。 $ crew sh: getconf: not found Chromebrew, version 0.2.1 Usage: crew [command] [package] Available commands: search, download, install, remove rubyも。 $ ruby -e 'print "Hello world\n"' Hello world install.shにある最初のエラーになっていたところの続きをやりますと別のエラーになってしまいましたが、 $ (echo y;) | crew install readline sh: getconf: not found Found readline, version 6.2 Following packages also need to be installed: binutils gmp mpc mpfr glibc gcc make linuxheaders buildessential Do you agree? [Y/n] Proceeding... Found binutils, version 2.23.2 No precompiled binary available for your platform, downloading source... /usr/local/lib/ruby/2.0.0/uri/common.rb:176:in `split': bad URI(is not URI?): (URI::InvalidURIError) from /usr/local/lib/ruby/2.0.0/uri/common.rb:211:in `parse' from /usr/local/lib/ruby/2.0.0/uri/common.rb:747:in `parse' from /usr/local/bin/crew:137:in `download' from /usr/local/bin/crew:227:in `install' from /usr/local/bin/crew:215:in `block in resolveDependencies' from /usr/local/bin/crew:213:in `each' from /usr/local/bin/crew:213:in `resolveDependencies' from /usr/local/bin/crew:156:in `resolveDependenciesAndInstall' from /usr/local/bin/crew:350:in `<main>' 「sh: getconf: not found」というのがキーになりそうですが、 これはまた別の問題ですね。面白いおもちゃです(笑) しかし目的のcrewのインストールができたことで、この質問は解決にしたほうが良いように思います。 長い間お付き合い頂き本当にありがとうございました。 プラットフォームがレアでモドカシイ想いもさせてしまったかと。。。スミマセン 感謝とお詫びを申し上げます。 でもまたこのプラットフォームでの質問をするかもしれませんが(滝汗)
NCC1701

2016/03/27 08:22

crewがインストールできれば、ツールを揃えていけるので、rubyも2.3あたりをインストールしなおすこともできますね。 とにかく、一応の解決になってよかったです。自分も勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問