ruby19 -vは使えるのに、gem19 -vが使えない
▽ruby1.9をcoreserverとmacのホームディレクトリにインストール - Born Neet]
http://blog.bornneet.com/Entry/282/
を参考に、レンタルサーバに「ruby-1.9.2-p180」をインストールしようとしています。
「ruby19 -v」と打つと、「ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]」と表示されるのですが、
「gem19 -v」と打つと、「command not found」となってしまいます。
「gem19 -v」を有効にするには、どうすれば良いでしょうか?
<インストールする際に打ったコマンド>
/local/src/ruby-1.9.2-p180> ./configure --prefix=$HOME/local --program-suffix=19
<エラーと思われる箇所>
make[1]: Leaving directory `/virtual/ユーザー名/local/src/ruby-1.9.2-p180'
Generating RDoc documentation
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./tool/runruby.rb --extout=.ext -- "./bin/rdoc" --no-force-update --all --ri --op ".ext/rdoc" "."
./tool/runruby.rb:63: warning: Insecure world writable dir /virtual/ユーザー名/lib/PEAR in PATH, mode 040777
uh-oh! RDoc had a problem:
Directory .ext/rdoc already exists, but it looks like it isn't an RDoc directory.
Because RDoc doesn't want to risk destroying any of your existing files,
you'll need to specify a different output directory name (using the --op <dir>
option)
「RDoc」ってドキュメント(?)だから関係ないようにも思うのですが、何か影響しているのでしょうか?
.ext/rdoc は既に存在しているけど、「RDoc directory」に見えない、とは、どういうことなのでしょうか?
No.6ベストアンサー
- 回答日時:
installed_spec_directoriesで検索したら、いろいろ出てきました。
ようするに、それまでのgemと両方混ぜて使おうとするとよくないようです。
対策としては
・configureに--disable-gemを付けて、ruby1.9.2のgemを無効にする
・旧gem関連のファイルを削除して、ruby1.9.2のgemだけを使う。GEM_HOMEはこちらで関係ありそう
のどちらからしいです。
RDocについてはわかりません。こちらでは特になにもなかったので
No.5
- 回答日時:
「./tool/runruby.rb:63: warning: Insecure world writable dir /virtual/ユーザー名/lib/PEAR in PATH, mode 040777」ってあったので、ただの警告だと思ってました。
実際にはここは関係無くて、その後の部分が「エラー」だとmake失敗なようです。
成功する条件は、「.ext/rdocが無い」「.ext/rdocが存在していて、かつ、正常なRDoc用のファイル構成になっている」の2つのようです。
先日インストールした1.9.3のビルド環境が残っていたので実験しました。
・.ext/rdocの中身を消して,ディレクトリだけ残してmake
→「uh-oh! RDoc had a problem:」以下のメッセージが出てmake失敗
・ make clean-rdoc
で.ext/rdocを完全に削除した後、make
→正常終了
> 解凍したディレクトリ(ruby-1.9.2-p180)で、「which ruby19」とか「ruby19 -v」とかやっても全く無意味ということになるのでしょうか?
man which を読みましょう。
whichはPATHから順番に探します。もし、PATHに「.」が含まれているなら、現在のディレクトリからも探します。
ビルドしたruby19のあるディレクトリで探せば、当然見付かりますが、それではインストールしたものを探していることにはなりません。
なお、セキュリティ等の理由から、PATHには.を入れないことをお勧めします。
> 一般的にmake時のエラーというのは、例えば複数個所エラーがあった場合、
> 最初のエラーが見つかった時点で、処理がストップしてしまうものでしょうか?
そうです。
-k オプションでエラーを無視して進みますが、それも依存関係に問題が無い部分だけで、例えば、make -k installとしても、インストールするファイル全てが揃っていないと、そちらのビルドが先に行われます(そこでエラーがあれば、結局進みません)
> また、「run with --debug for full backtrace」は、どうやるのでしょうか?
この訳は「完全なバックトレースのためには(for full backtrace)『--debug』と一緒に実行してください」
です。
make --debug
です。これもman make やmake --helpをよく読みましょう。
この回答への補足
回答ありがとうございました。
その後、試行錯誤して、進展したのですが、また躓いてしまいました。
<現状>
> which ruby19
/virtual/ユーザー名/local/bin/ruby19
> which gem19
/virtual/ユーザー名/local/bin/gem19
lsでも存在確認しました。
> ruby19 -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
ここまではいい感じです。
ところが、
> gem19 -v
と打つと
/virtual/ユーザー名/local/lib/rubygems/source_index.rb:68:in `installed_spec_directories': undefined method `path' for Gem:Module (NoMethodError)
from /virtual/ユーザー名/local/lib/rubygems/source_index.rb:58:in `from_installed_gems'
from /virtual/ユーザー名/local/lib/rubygems.rb:881:in `source_index'
(中略)
from /virtual/ユーザー名/local/bin/gem19:8:in `<main>'
となってしまいます。
どうすれば良いのでしょうか?
「Gem」モジュールのためのパスが定義されていない?
「.bashsrc」で、「export GEM_HOME=$HOME/local/lib/ruby/gem」と記述しているのですが、何か影響しているのでしょうか? これを削除すると、普通の(gem19ではない)gemが、動かなくなると思うのですが…
<インストール時に影響しているかもしれないと思われる点>
▼make
make clean-rdoc
make: Nothing to be done for `clean-rdoc'.
となってしまったので、手動で「rdoc」ディレクトリを削除してから、「make」しました
▼make install
「make install」と打つと、また同じエラーになったため、再び「rdoc」ディレクトリを手動削除してから、「make -k install」
ところが、途中で、またもやエラーとなってしまいました。
100% [515/515] doc/re.rdoc
Generating RI...
make: *** [rdoc] Killed
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="-k" --make-flags="k" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --install=all --rdoc-output=".ext/rdoc"
ここで、手動で(?)makeしました。
自分でも何をしているか、全然分からないのですが、参考リンク先にあったので、真似してやってみました。
具体的には、表示されたコマンド「./minirubyから-rdoc-output=".ext/rdoc"まで」をそのまま打っただけです。
そうすると、下記表示になり、特にエラーらしき記述も見当たらなかったため、最後まで行ったと思ったのですが…
installing default gems: /virtual/ユーザー名/local/lib/ruby/gems/1.9.1 (cache, doc, gems, specifications)
rake 0.8.7
rdoc 2.5.8
minitest 1.6.0
No.4
- 回答日時:
> /local/src/ruby-1.9.2-p180> which ruby19
> ./ruby19
これだと、コンパイルが成功した(らしい)ことしかわかりません。
別なディレクトリに移動してやってください。
この回答への補足
回答ありがとうございます。
>別なディレクトリに移動してやってください。
「which ruby19」を別ディレクトリで試したら、ノーリアクションでした。
ついでに、「ruby19 -v」も別ディレクトリで試したら、ノーリアクションでした。
ということは、そもそも、解凍したディレクトリ(ruby-1.9.2-p180)で、「which ruby19」とか「ruby19 -v」とかやっても全く無意味ということになるのでしょうか?
そうすると多分、現状は、解凍しただけで終わっている状況だと思うのですが、
「./configure --prefix=$HOME/local --program-suffix=19」打った後、
「config.status: creating Makefile」となっているので、
ここは多分問題ないと思います。
その後、makeしたときに、
「run with --debug for full backtrace」
「make: *** [rdoc] Error 1」
となるのですが、
一般的にmake時のエラーというのは、例えば複数個所エラーがあった場合、
最初のエラーが見つかった時点で、処理がストップしてしまうものでしょうか?
具体的には、
「make: *** [rdoc] Error 1」の意味としては、
・エラー内容は一つだけだった
・あくまでも最初のエラー内容を表示してるだけ
何れの可能性が高いかを知りたいです。
また、「run with --debug for full backtrace」は、どうやるのでしょうか?
試しに、「make --debug for full backtrace」
とやってみたのですが、うまくいきませんでした…
No.3
- 回答日時:
./configure --prefix=$HOME/local --program-suffix=19
して、
make
make install
したのなら、
$HOME/local/bin/ruby19
$HOME/local/bin/gem19
などが出来ているはずです。
出来ていないとしたら、どこかで間違えているか、確認方法を間違えているかですが、
お書きの質問文や補足からではわかりません。
この回答への補足
回答ありがとうございます。
>$HOME/local/bin/ruby19
>$HOME/local/bin/gem19
>などが出来ているはずです。
確認したらありませんでした…
No.2
- 回答日時:
> 今、試したら、
> > which ruby
> /virtual/ユーザー名/local/bin/ruby
> となりました。
「ruby19」を探すのにrubyでは探せません。
which ruby19
です。
gem19が正常にインストールできていたら、ruby19と同じ場所にあるはずです。
存在を確認するにはlsを使えばいいです。
この回答への補足
回答ありがとうございました。
/local/src/ruby-1.9.2-p180> which ruby19
./ruby19
lsでも存在確認しました。
が、同じ場所にgem19が見当たりません。
どうやら、gem19インストールに失敗しているみたいです。
gem19をインストールするに辺り、何か特別な「.bashrc」記述が必要なのでしょうか?
「RUBYLIB=」とか「GEM_HOME=」とか、gem19用の書き方があれば教えてください。
ちなみに、現状は、
> gem -v
1.3.6
/local/src/ruby-1.9.2-p180> which gem
/virtual/ユーザー名/local/bin/gem
です
No.1
- 回答日時:
command not found だったら、gem19のインストールができてない、ってことは無いですか?
そのruby19が確かにそこでインストールしたものかwhich等で確認取れてますか?
> <インストールする際に打ったコマンド>
> /local/src/ruby-1.9.2-p180> ./configure --prefix=$HOME/local --program-suffix=19
だけだと、コンパイルの準備ができただけでインストールはされませんが。
RDocは関係無いでしょう。
辞書片手にでも翻訳してみればわかりますが
「すでにあるディレクトリに上書きしちゃうリスクは避けたいから、rdoc用には空のディレクトリを用意してね」
と言ってるだけです。
この回答への補足
回答ありがとうございます。
>command not found だったら、gem19のインストールができてない、ってことは無いですか?
有り得ます。どうやって、確認したら良いでしょうか?
>そのruby19が確かにそこでインストールしたものかwhich等で確認取れてますか?
確認取れてません。
今、試したら、
> which ruby
/virtual/ユーザー名/local/bin/ruby
となりました。
ちなみに、
「ruby -v」と打つと、
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
となります。(多分、こっちは以前入れたヤツです)
>だけだと、コンパイルの準備ができただけでインストールはされませんが。
その後、
「make」
「make install」と打ちました。
>RDocは関係無いでしょう。
ありがとうございます。
ネットを見ると、
>1.9にはgemが同梱されている
>このあと RubyGems も必要になりますが、Ruby1.9.2 からは デフォルトで入ってるのでインストールする必要はありません
のような記述もあったのですが、
そうだとすると、1.9を入れたら、自動的にgemも入るようになったのかな? と思ったのですが、そういうわけでもないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ビーリアルのユーザー名を変え...
-
1、Rstudioで回帰直線を求める...
-
pandasでsqlite3にテーブル作成...
-
PysimpleGUIでデータベースを作る
-
Accessで文字列のバイト数読み込み
-
電子書籍作成、epubファイルの...
-
パソコンのスクリーンセーバー...
-
教えてください
-
英数字を含む文字列(0-9,A-Z)...
-
MacBookAir起動時にRubyソース...
-
A4 持ち込み
-
前回の質問の続き
-
あせんうぶり言語
-
これらは書誌情報だと思うので...
-
情報の表現。()内がどうしても...
-
pythonのerrorコード
-
三項でたとえば交換って
-
WinSCPで画像のように puttyを...
-
こういう問題分をよんだとき
-
バーチャルボックスが使えなく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ruby / passenger のインストー...
-
Rubyのプログラミングをする環...
-
Linuxの「find」コマンドについて
-
WinXP+Apache2にerubyを入れま...
-
We're sorry, but something we...
-
windows8でruby
-
小文字wと大文字Wの区別
-
COBOLのIFの入れ子について
-
VB.NETで階乗を求めるプログラ...
-
RubyでNo such file or directo...
-
web上のhtmlファイルから文字デ...
-
プログラミング言語で大文字と...
-
「大文字・小文字・スペース」...
-
バーコードのチェックデジット...
-
システムエンジニアの適正について
-
アプレットで三次方程式1
-
Ruby interpreter (CUI) 2.2.3 ...
-
フォルダー名の大文字小文字
-
RubyGems の「GEM」は何の略で...
-
VBとフィボナッチに明るい方、...
おすすめ情報