專案如果要長久,套件升級是一定是不可或缺的事,從上篇的 Auto-update dependencies 中,我們可以透過 dependabot
幫我們偵測需要更新的套件,當然不依賴它也可以透過下指令知道目前需要更新的套件。
這篇就來介紹該如何升級吧!
# At the root directory of a Rails app
gem update <gem_name>
註: 如有指定版本的 gem 要更新,要記得先修改
Gemfile
不過我的習慣會先 gem undate
直接更新所有的 gem 來看哪些需要被更新,更改了哪幾個檔案,把需要更新的 gems 都先記錄下來,然後 checkout 掉,不過如果只是單純要更新其中一個的話,上述的指令就可以完成了!
再來會再把所有想要升級的 gem 一個一個來升級,原因是要測試這個 gem 的升級對於現在的專案是否會受到影響,如果一次 update 所有的 gems 結果壞掉的話,就無法知道是什麼升級導致專案炸裂的原因,尤其像是 rails
、puma
大版號之類的升級~
# At the package.json directory
npm update <pkg_name>@latest
npm 的升級也與 gem 的升級大同小異,唯一要記得的是,如果專案的 css 是需要手動 build 的話,升級完記得重新執行才會獲得依賴升級套件產生的 css file。
再來就是會在升級的過程遇到各種奇怪的雷,還有不能用的語法惹~這時候就會提醒我們測試的重要性!才不會因為套件的升級導致哪個功能直接炸裂也不曉得的狀況 orz