簡體   English   中英

升級Ruby版本和Rails兼容性

[英]Upgrading Ruby version And Rails Compatibility

嗨,大家好,我想知道是否有人可以解釋我遇到的問題,以便我能理解最新情況。

我目前正在運行ruby 2.2.2和rails 5.我有一個小測試應用程序,一切正常。 我決定將ruby升級到版本2.4.0,除了我認為我應該知道如何做以及由此產生的陷阱等,沒有其他原因,所以這是一個學習練習。

將ruby更新到2.4.0之后,命令rails -v返回未安裝的rails。 如果我然后恢復到舊的ruby 2.2.2 rvm use ruby-2.2.2運行rails -v然后返回rails 5.0.1。 這里發生了什么事?

謝謝

RVM為每個Ruby版本和gemset提供單獨的gem目錄。 這意味着必須為每個修訂版和gemset顯式安裝gem。 通常遷移過程如下:

rvm use ruby-2.4.0 
# or `rvm --default use ruby-2.4.0` if you want to use 2.4.0 from now on
gem install rails -v 5.0.1 # an example, use any version you like
gem install bundler
bundle install # to install all other project gems

請參閱RVM gemsets文檔頁面

擴展@ Slava.K的答案

我有一個小測試應用程序,一切正常。 我決定將ruby升級到版本2.4.0,除了我認為我應該知道如何做以及由此產生的陷阱等,沒有其他原因,所以這是一個學習練習。

  • 當您將ruby升級到2.4.0時,這將成為您的新ruby版本號,因此您將不會引用railsbundler
  • 你需要做gem install rails -v xxxgem install bundler
  • 現在當你執行rails -v ,這將打印給定Ruby的已安裝rails的版本號。

將ruby更新到2.4.0之后,命令rails -v返回未安裝的rails。 如果我然后恢復到舊的ruby 2.2.2 rvm使用ruby-2.2.2運行rails -v然后返回rails 5.0.1。 這里發生了什么事?

  • 正如我上面已經提到的,升級Ruby時必須安裝rails。 因此沒有安裝rails,也沒有要顯示的版本號

  • gem env home => ../versions/jruby-1.7.12/lib/ruby/gems/shared
    • 將顯示安裝寶石的位置。
  • 我傾向於使用rbenv而不是rvm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM