2017-01-02 66 views

回答

2

看起來你不能指定下載源位置。 APT,RPM或pip安裝命令都是在Vagrant中硬編碼的。例如:

  • ansible_install.rb(用於Debian):

    def self.ansible_apt_install(machine) 
    
        // skipped 
    
         machine.communicate.sudo install_backports_if_wheezy_release 
         machine.communicate.sudo "apt-get update -y -qq" 
         machine.communicate.sudo "apt-get install -y -qq ansible" 
        end 
    
        def self.pip_setup(machine) 
         machine.communicate.sudo "apt-get update -y -qq" 
         machine.communicate.sudo "apt-get install -y -qq build-essential curl git libssl-dev libffi-dev python-dev" 
         Pip::get_pip machine 
        end 
    
  • pip.rb(使用:pip時):

    machine.communicate.sudo "pip install #{upgrade_arg}#{package}#{version_arg}" 
    

這就是說,如果你想避免做下載每個vagrant up,您可以:

  • 使用APT或yum的代理。例如Apt-Cacher(您需要修改配置以使用shell配置指向代理);
  • 使用像vagrant-cachier這樣的流浪漢插件(不適用於pip,通常不可靠並且不能維護);
  • 使用shell供應商使用所需的命令下載並安裝Ansible;
  • 可能是最好的:使用Vagrant Packer創建您的已定製包裝盒(即Ansible)的定製盒子圖像。
+0

謝謝,不知道Vagrant Packer,會檢查出來。 – ilanco