2

CentOS ユーザーが使用する vundle を人形化しようとしています。Puppet の結果は、エラー メッセージなしで肯定的です。

注意: /Stage[main]/Devops-base-utilities::Vimconfig /Exec[install_vundle]/returns: 正常に実行されました

しかし、~/.vim/bundleディレクトリを確認すると、git リポジトリからクローンされたのは vundle だけでした。

exec コマンド モジュールは次のとおりです。

exec { "install_vundle":
  user        => www,
  command     => 'vim +BundleInstall +qall',
  path        => "/usr/bin",
  provider    => shell,
  refreshonly => true,
  require     => [Package["vim-enhanced"], Exec["clone_vundle"]],
  subscribe   => File['/home/www/.vimrc.bundles.local']
}

ただし、vim +BundleInstall +qall手動で起動できます。

4

2 に答える 2

1

Slava's suggestion worked for me!

Vagrantfile:

VAGRANTFILE_API_VERSION = '2'

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = 'precise64'
  config.vm.box_url = 'http://files.vagrantup.com/precise64.box'

  config.vm.provision :shell do |shell|
    shell.inline = "mkdir -p /etc/puppet/modules;
                    puppet module install -f puppetlabs-stdlib;
                    puppet module install -f puppetlabs/apt"
  end

  config.vm.provision :puppet
end

manifests/default.pp:

# Update apt before installing any packages

class { "apt":
  update_timeout => 60
}

exec { "apt-update":
  command => "/usr/bin/apt-get update"
}

Exec["apt-update"] -> Package <| |>

package { "git":
  ensure => latest
}

package { "vim":
  ensure => latest
}

# Link vim profile

file { "/home/vagrant/.vimrc":
  ensure => link,
  target => "/vagrant/.vimrc",
  require => Package["vim"]
}

file { "/home/vagrant/.vim/":
  ensure => directory,
  owner => "vagrant",
  group => "vagrant",
  require => Package["vim"]
}

exec { "git vundle":
  command => "/usr/bin/sudo -u vagrant git clone https://github.com/gmarik/vundle.git /home/vagrant/.vim/bundle/vundle",
  require => [
    Package["git"],
    Package["vim"],
    File["/home/vagrant/.vimrc"],
    File["/home/vagrant/.vim/"]
  ]
}

# Install Vim packages

exec { "vundle":
  command => "/usr/bin/sudo -u vagrant /usr/bin/vim +BundleInstall +qall",
  environment => "HOME=/home/vagrant/",
  require => Exec["git vundle"]
}

.vimrc:

https://github.com/mcandre/dotfiles/blob/master/.vimrc

于 2014-02-08T03:55:17.897 に答える
0

インストールが git クローンの間cwd =>に戻ろうとして、アクセス許可が拒否されたため、エントリを指定する必要があります。cwdこれは記録されません。https://github.com/jdevera/parallel-vundle-installerを使用しているときに見つけました。

于 2016-08-30T17:12:10.917 に答える