您好,我將我的Ruby on Rails開發平臺從Windows 7切換到Linux(Debian),我將整個應用程序目錄複製到Linux並運行bundle install
,命令成功。比我運行rake db:migrate
,並將其與以下錯誤退出:mri_21不是有效的平臺
`mri_21` is not a valid platform. The available options are: [:ruby, :ruby_18, :ruby_19, :mri, :mri_18, :mri_19, :rbx, :jruby, :mswin, :mingw, :mingw_18, :mingw_19]
比我一派爲錯誤並發現this,我跟着建議的步驟,即:
gem update bundler
上述命令輸出:
Updating installed gems
Nothing to update
比:bundle install
,這也是成功的。 但仍rake db:migrate
得到同樣的錯誤,我的紅寶石版本:ruby 1.9.3p194
無法得到軌版本由rails -v
得到同樣的mri_21錯誤,但在我的應用程序的Gemfile中我有gem 'rails', '4.1.5'
編輯:但是當我試圖bundle exec rake db:migrate
它那是成功的。比我跑bundle exec rails s
和應用程序成功運行:
=> Booting Thin
=> Rails 4.1.5 application starting in development on 0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
現在的問題是,如何讓每一次擺脫這種bundle exec
,並且發生了什麼事與此有關。
沒有嘗試'捆綁高管耙分貝:migrate' –
是的,我試過,只是問了這個問題,其工作之後。 –
在將PATH變量指定爲錯誤版本的rails和gems之前,您應該擁有所有的gem二進制文件,那麼您可以避免使用'bundle exec' –