[Ruby] RVM環境での sudo は rvmsudo を使う
- 2012 2/24
- カテゴリー : Ruby on Rails
- コメントを書く
RVM 上に構築した Ruby on Rails で WEBrick サーバを 443 Port 指定で起動するために sudo で実行したところエラーが発生して、解決した話をご紹介します。
■ エラー内容
$ sudo rails s -p 443 Password: /Users/your_username/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find rails (>= 0) amongst [minitest-1.6.0, rake-0.8.7, rdoc-2.5.8] (Gem::LoadError) from /Users/your_username/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec' from /Users/your_username/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems.rb:1208:in `gem' from /Users/your_username/.rvm/gems/ruby-1.9.2-p290@mygemset/bin/rails:18:in `<main>' |
原因は、Rails の開発環境を RVM で構築していたせいでした。
rvm 環境上で ruby や rails コマンドで sudo が必要な場合は rvmsudo を使わないといけないみたいです。
$ rvmsudo rails s -p 443 Password: => Booting WEBrick => Rails 3.1.0 application starting in development on http://0.0.0.0:443 => Call with -d to detach => Ctrl-C to shutdown server [2012-02-23 23:58:43] INFO WEBrick 1.3.1 [2012-02-23 23:58:43] INFO ruby 1.9.2 (2011-07-09) [x86_64-darwin11.3.0] [2012-02-23 23:58:43] INFO WEBrick::HTTPServer#start: pid=4649 port=443 |
rvmsudo でやったら上手くいきました。
以上、RVM 上に構築した Ruby on Rails で WEBrick サーバを 443 Port 指定で起動するために rvmsudo した、現場からお送りしました。