這篇文章主要介紹了Ruby環境下安裝使用bundler來管理多版本的gem的方法,舉了Ruby On Rails中的應用實例來進行演示,需要的朋友可以參考下
有了rbenv來管理多版本的ruby環境,我們還需要一個能管理多版本gem(比如rails)的工具,那就是bundler了,項目背景不細說了,需要了解的直接到官網http://bundler.io/,這裏只講一些實際使用經驗。
安裝
gem install bundler
使用
mkdir app1; cd app1; echo "source 'https://ruby.taobao.org/'" > Gemfile echo "gem 'rails,'4.1.0'" >> Gemfile bundle install
上面代碼在app1下安裝了rails 4.1.0,使用bundle exec rails -v查看當前目錄下使用的rails版本,顯示內容應該爲Rails 4.1.0,同樣此時通過bundle exec rails new . --force覆蓋原來Gemfile,此時的app使用的rails版本爲4.1.0。
mkdir app2; cd app2; echo "source 'https://ruby.taobao.org/'" > Gemfile echo "gem 'rails,'3.2.13'" >> Gemfile bundle install
上面代碼創建了第二個app2文件夾,並通過bundler安裝了rails 3.2.13 同樣通過bundle exec rails new . --force可以生成基於rails 3.2.13版本的應用。
安裝了以上兩個版本後,通過gem list --local可以看到rails有兩個版本,顯示爲rails (4.1.0, 3.2.13),bundler會智能的判斷每個項目的rails版本,以確保應用的正確運行,但前提是通過使用bundle exec命令來執行原來得命令,例如:
bundle exec rails s bundle exec rake db:create ...