在服务器上运行 bundle install 和 gem install multi_son 都好用。
deploy.rb
task :staging do
transaction do
update_code
migrate
end
restart
end
...
task :migrate, :roles => :app, :only => {:primary => true} do
#run "cd #{deploy_to} && bundle install"
#production 下 用 production
run "cd #{deploy_to} && RAILS_ENV=staging bundle exec rake assets:precompile"
#run "cd #{deploy_to} && bundle exec rake db:auto:migrate"
#run "rake assets:precompile"
end
...
end
(1) 如果 run "cd #{deploy_to} && bundle install" 错误:
/usr/lib/ruby/1.9.1/rubygems/format.rb:38:in `from_file_by_path': Cannot load gem at [/usr/lib/ruby/gems/1.9.1/cache/multi_json-1.8.4.gem] in /home/yzhang/instigatestaging/instigateweb (Gem::Exception)
(2) 在服务器上,“bundle install”和“gem install multi_json”都没有错误
所以想问下 (1)和 (2) bundle install 不是一样的么?只是一个服务器直接运行一个本地运行,为什么会有错误呢。还有我的服务器上 rvm use 2.0.0 default,但是上面的错误貌似是 ruby 用了 1.9.1. 求解。
PS: mutli_json 1.8.4 需要在 ruby 1.9.3 以上。