1
我試圖containerize一個rails項目。出於某種原因,我想有一個rails項目,我可以將其複製並粘貼到另一臺機器上,這樣我就可以在另一臺機器上運行它,而無需在另一臺機器上運行「軟件包安裝」。有沒有辦法將所有依賴項安裝到項目文件夾中,將項目文件夾部署到其他機器並直接從那裏運行?本地安裝寶石到項目文件夾的可移植性原因
我試圖containerize一個rails項目。出於某種原因,我想有一個rails項目,我可以將其複製並粘貼到另一臺機器上,這樣我就可以在另一臺機器上運行它,而無需在另一臺機器上運行「軟件包安裝」。有沒有辦法將所有依賴項安裝到項目文件夾中,將項目文件夾部署到其他機器並直接從那裏運行?本地安裝寶石到項目文件夾的可移植性原因
當然。從項目的頂層文件夾中運行
bundle install --path vendor/cache
這將安裝所有需要的寶石到子文件夾下vendor
。然後,您可以將整個項目文件夾複製到其他機器上,並且所有必要的寶石都會隨之而來。
要執行依賴於這些本地安裝的gem的命令,您需要在每個命令前加上bundle exec
(例如,
bundle exec rails server
或者,你可以使用Capistrano來管理這整個過程(部署項目到遠程服務器,並安裝必要的寶石),爲您服務。
偉大的回答西蒙。 +1這樣一個簡潔的答案! –