rbenvとruby-buildインストール時に no such command `install' が出た原因と対処法
前回の続き。rubyのバージョンをあげる最中に
no such command `install'
というエラーが出てしまった原因と対処法。
症状
rbenv実行時に no such command `install' というエラーが出た
$ rbenv install -l rbenv: no such command `install'
原因
gitからcloneするときに、保存先のパスを間違って指定してしまった。
正しい方法
にインストール(clone)する
間違った方法と解決まで
rbenvとruby-buildのclone (誤った手順)
ログインスクリプトの記載 (誤った手順)
$ echo 'export PATH="$HOME/git/rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ source ~/.bash_profile
動かぬ
$ rbenv install -l rbenv: no such command `install'
一旦今のリポジトリを消して再度clone実行
怒られた
自動的に~/.rbenvにいろいろいろ配置されていたようだ
bash-3.2$ ls -la ~/.rbenv total 96 drwxr-xr-x 4 xxxx xxxxx 680 May 7 00:35 . drwxr-xr-x+ 42 xxxx xxxxx 1462 May 7 23:42 .. drwxr-xr-x 2 xxxx xxxxx 306 May 7 00:35 shims drwxr-xr-x 2 xxxx xxxxx 102 May 7 00:26 versions
~/.rbenv消去
$ rm -r ~/.rbenv
再度clone実行
ログインスクリプト書き直し
$ vi ~/.bash_profile # 古い内容を削除して、 export PATH=$HOME/git/rbenv/bin:$PATH # 正しい内容を記載 export PATH=$HOME/.rbenv/bin:$PATH # 設定を読み込み $ source ~/.bash_profile
できた
$ rbenv install -l Available versions: 1.8.6-p383 1.8.6-p420 1.8.7-p249 1.8.7-p302 1.8.7-p334 # 後略
言い訳
gitからcloneしてきたものは ~/git 配下に置くようにしてたので今回もその通りにしていました。 PATHでrbenvの場所指定したのでどこにインストールしても大丈夫だと思ってました。 ちゃんとドキュメント読んでおけよという話ですね。
Rubyのバージョンアップ方法(rbenv使用) - うまくいく場合
PCにインストールされているRubyのバージョンが古かったので、最新の安定板にアップデートしました
開発環境
- OS : Mac OS X バージョン 10.8.4
- gitのクライアントアプリとして Sourcetree - 無料の Git & Mercurial クライアント | アトラシアン (バージョン1.8.1)を使用しています
バージョンアップ手順
現在のバージョンを確認
$ ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
4年前のバージョンですね
ruby自体のバージョンをあげるにはいくつか方法があるようなのですが、今回は友人おすすめのrbenvを使用します。
rbenvの設定
rbenv を git clone
ソースパス/URL | https://github.com/sstephenson/rbenv.git |
---|---|
保存先のパス | ~/.rbenv |
ログインスクリプトに必要事項を記載
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile # 初回なのでsourceをする。以降はログイン時に上記コマンドが実行される $ source ~/.bash_profile # コマンドの確認 $ which rbenv /Users/user/.rbenv/bin/rbenv
ruby-buildをgit clone
ソースパス/URL | https://github.com/sstephenson/ruby-build.git |
---|---|
保存先のパス | ~/.rbenv/plugins/ruby-build |
インストールできるバージョンの確認
# インストールできるrubyのバージョンを確認 $ rbenv install -l Available versions: 1.8.6-p383 1.8.6-p420 1.8.7-p249 1.8.7-p302 1.8.7-p334 # 後略
https://www.ruby-lang.org/ja/downloads/
を確認すると、最新(2016年05月10日時点)の安定版が2.3.1なので、このバージョンをインストールします。 2.3.1がインストールできるか念のため確認。
$ rbenv install -l | grep 2.3.1 2.3.1
大丈夫そうですね。
rubyのバージョンを指定してインストール
$ rbenv install 2.3.1 Downloading openssl-1.0.2h.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919 Installing openssl-1.0.2h... Installed openssl-1.0.2h to /Users/user/.rbenv/versions/2.3.1 Downloading ruby-2.3.1.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2 Installing ruby-2.3.1... Installed ruby-2.3.1 to /Users/user/.rbenv/versions/2.3.1
デフォルトで使用するrubyのバージョンを指定する
デフォルトで使用するrubyのバージョンを指定します
$ rbenv global 2.3.1
rubyバージョンの確認
$ ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin12.0]
バージョンアップできました。
しかし、バージョンアップをする最中にいろいろな問題に遭遇したのでした (次回へ続く)
"パーフェクトRuby on Rails"という本を参考にしています
パーフェクトRuby on Rails |
自己紹介。過去の作品とこれから作るもの
はじめまして。yucatioです。よろしくお願いします。
このブログについて
プログラミングしていて気づいたことや作成したアプリの解説を書いています。
プライバシーポリシー
当サイトが使用しているアクセス解析ツールについて
当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。
このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。
このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。
Google Analytics Terms of Service | Google Analytics – Google
当サイトに掲載されている広告について
当サイトではGoogleによる広告配信ツール「GoogleAdSense」を利用しています。
このツールは、Google などの第三者配信事業者が Cookie を使用して、ユーザーがそのウェブサイトや他のウェブサイトに過去にアクセスした際の情報に基づいて広告を配信します。
また、Google が広告 Cookie を使用することにより、ユーザーがそのサイトや他のサイトにアクセスした際の情報に基づいて、Google やそのパートナーが適切な広告をユーザーに表示できます。
Googleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。
連絡先
yucatio.com@gmail.com
このブログを書いている人
ネット通販サイトでシステムエンジニアとして働いています。仕事で主に使う言語はJava。趣味でRubyとRuby on Railsの勉強を始めました。現在はReactやReduxなどのフロントエンド技術を勉強しています。
過去には趣味でAndroidアプリを作っていました。 作品はこちら
プライバシーポリシー
これらのアプリでは、個人情報の取得を行なっておりません。
広告配信を目的として以下の広告配信事業者がご利用者の情報を自動取得する場合がございます。