bundler使用不同gemfile进行测试

有时一个项目中可能要对不同版本的rails或者其它gem进行测试,可以在文件夹中进入不同的gemfile,比如在gemfiles文件夹中放入两个文件Gemfile.minitest-5和Gemfile.minitest-4,就可以分别测试了

BUNDLE_GEMFILE=./gemfiles/Gemfile.minitest-5 bundle install --path vendor/bundle-minitest-5

测试

BUNDLE_GEMFILE=./gemfiles/Gemfile.minitest-5 bundle exec rake test

bundler开始支持并行安装gem

Bundler现在支持并行安装gem, 使安装的速度大为提高 Parallel installation

首先安装bundler pre

gem install bundler --pre

使用:

bundle install -j2  #这里的2代表数目,按说法和cpu核数相同最好

OK了,现在安装,会发现速度快的一B啊,

ubuntu 12.04 ruby on rails环境设置

一直在用centos,今年转到ubuntu试下,untuntu 12.04 rails环境设置

系统配置

  1. ssh远程登录 ssh root@ip,修改root密码 passwd
  2. 添加用户 useradd -m -g staff -s /bin/bash deployer,修改deployer的密码 passwd deployer
  3. 设置ssh登录,禁止ssh登录到根目录 vim /etc/ssh/sshd_config, 设置 PermitRootLogin no
  4. 退出,重新以deployer的身份登录
  5. 更新 sudo apt-get update
  6. 安装一些必要的依赖包
sudo apt-get -y install build-essential zlib1g-dev git-core sqlite3 libsqlite3-dev\
 libreadline-dev...

rails 4.0.0.rc1 mountable engine rake db:migrate not work

在rails 3.2 mountable engine中,可以直接使用rake db:migrate,不过在rails 4.0.0.rc1中没用了,可以自己修正下,修改

activerecord-4.0.0.rc1/lib/active_record/railties
  task :load_config do
    ActiveRecord::Base.configurations = ActiveRecord::Tasks::DatabaseTasks.database_configuration || {}
    ActiveRecord::Migrator.migrations_paths = ActiveRecord::Tasks::DatabaseTasks.migrations_paths
  end

修改为:

  task :load_config do...