有了rbenv來(lái)管理多版本的ruby環(huán)境,我們還需要一個(gè)能管理多版本gem(比如rails)的工具,那就是bundler了,項(xiàng)目背景不細(xì)說(shuō)了,需要了解的直接到官網(wǎng)http://bundler.io/,這里只講一些實(shí)際使用經(jīng)驗(yàn)。
安裝
使用
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查看當(dāng)前目錄下使用的rails版本,顯示內(nèi)容應(yīng)該為Rails 4.1.0,同樣此時(shí)通過(guò)bundle exec rails new . --force覆蓋原來(lái)Gemfile,此時(shí)的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
上面代碼創(chuàng)建了第二個(gè)app2文件夾,并通過(guò)bundler安裝了rails 3.2.13 同樣通過(guò)bundle exec rails new . --force可以生成基于rails 3.2.13版本的應(yīng)用。
安裝了以上兩個(gè)版本后,通過(guò)gem list --local可以看到rails有兩個(gè)版本,顯示為rails (4.1.0, 3.2.13),bundler會(huì)智能的判斷每個(gè)項(xiàng)目的rails版本,以確保應(yīng)用的正確運(yùn)行,但前提是通過(guò)使用bundle exec命令來(lái)執(zhí)行原來(lái)得命令,例如:
bundle exec rails s
bundle exec rake db:create
...
您可能感興趣的文章:- Ruby中g(shù)em包管理器的用法及用bundler來(lái)管理多版本的gem
- Ruby中的gem包管理的使用及gem源搭建教程
- Ruby包管理器gem常用命令
- 創(chuàng)建自定義的Ruby gem包的教程
- ruby執(zhí)行周期性任務(wù)的三種gem介紹