我有一個腳本,在我的服務器上安裝Ruby/RVM(以及更多)以準備部署Rails項目的環境。這個腳本是紅寶石,並使用net-ssh lib來完成這項工作。如何通過net-ssh在服務器上創建RVM環境?
已經安裝RVM,紅寶石之後,我想創建項目寶石:
connection do |conn|
logger("Create RVM environment #{ruby_version}@#{project_name}")
conn.exec!("#{rvmsudo_path} #{rvm_path} gemset create #{project_name}")
end
我得到在我的寶石創建的,都好:
在/ usr /本地/ RVM/gems/[email protected]_project_name
這是我Capistrano的設置RVM /紅寶石:
set :rvm_type, :system
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"")
當我嘗試使用Capistrano的部署,我得到:
/usr/local/rvm/environments/[email protected]_project_name:權限被拒絕
環境文件'[email protected]_project_name'實際上在該文件夾中缺失。我需要登錄到服務器並導航到我的項目,以便.rvmrc文件觸發創建環境(rvm --create my_project_name)。我想避免這最後一步。你知道如何觸發這個環境的創造嗎? (不過,我覺得它會創建它,當我創建了寶石)
如果您將RVM作爲用戶安裝(建議使用),請用'$ HOME/.rvm/scripts/rvm'替換'/ usr/local/rvm/scripts/rvm'。 –