[英]Deploying to EC2 using Rubber on Windows
我正在尝试将Rails应用程序部署到Amazon EC2实例,但一直收到相同的错误。
Trying to enable root login
c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rubber-2.8.0/lib/rubber/recipes/rubber/setup.rb:173:in `read': No such file or directory - /etc/hosts (Errno::ENOENT)
该错误指向该文件中的该块
desc <<-DESC
Sets up local aliases for instance hostnames based on contents of instance.yml.
Generates/etc/hosts for local machine
DESC
required_task :setup_local_aliases do
hosts_file = '/etc/hosts'
# Generate /etc/hosts contents for the local machine from instance config
delim = "## rubber config #{rubber_env.domain} #{Rubber.env}"
local_hosts = delim + "\n"
rubber_instances.each do |ic|
# don't add unqualified hostname in local hosts file since user may be
# managing multiple domains with same aliases
hosts_data = [ic.full_name, ic.external_host, ic.internal_host]
# add the ip aliases for web tools hosts so we can map internal tools
# to their own vhost to make proxying easier (rewriting url paths for
# proxy is a real pain, e.g. '/graphite/' externally to '/' on the
# graphite web app)
if ic.role_names.include?('web_tools')
Array(rubber_env.web_tools_proxies).each do |name, settings|
hosts_data << "#{name}-#{ic.full_name}"
end
end
local_hosts << ic.external_ip << ' ' << hosts_data.join(' ') << "\n"
end
local_hosts << delim << "\n"
# Write out the hosts file for this machine, use sudo
*LINE 173* existing = File.read(hosts_file)
filtered = existing.gsub(/^#{delim}.*^#{delim}\n?/m, '')
# only write out if it has changed
if existing != (filtered + local_hosts)
logger.info "Writing out aliases into local machines #{hosts_file}, sudo access needed"
Rubber::Util::sudo_open(hosts_file, 'w') do |f|
f.write(filtered)
f.write(local_hosts)
end
end
end
我在错误引用的实际行中添加了文本*LINE 173*
。
我找到了与此相关的Google Group线程,但是不确定如何更改Windows的路径
https://groups.google.com/forum/#!topic/rubber-ec2/LFk0NgrOtyY
任何帮助,将不胜感激。 同样,我尝试将Rails应用程序部署到Windows 8计算机上的EC2实例。
Windows中的等效文件是
C:\Windows\System32\drivers\etc\hosts
由于此代码需要特权访问,因此可能难以写入该文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.