2014-06-27 57 views
1

我試圖containerize一個rails項目。出於某種原因,我想有一個rails項目,我可以將其複製並粘貼到另一臺機器上,這樣我就可以在另一臺機器上運行它,而無需在另一臺機器上運行「軟件包安裝」。有沒有辦法將所有依賴項安裝到項目文件夾中,將項目文件夾部署到其他機器並直接從那裏運行?本地安裝寶石到項目文件夾的可移植性原因

回答

3

當然。從項目的頂層文件夾中運行

bundle install --path vendor/cache 

這將安裝所有需要的寶石到子文件夾下vendor。然後,您可以將整個項目文件夾複製到其他機器上,並且所有必要的寶石都會隨之而來。

要執行依賴於這些本地安裝的gem的命令,您需要在每個命令前加上bundle exec(例如,

bundle exec rails server 

或者,你可以使用Capistrano來管理這整個過程(部署項目到遠程服務器,並安裝必要的寶石),爲您服務。

+0

偉大的回答西蒙。 +1這樣一個簡潔的答案! –