我有一个脚本,在我的服务器上安装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'。 –