2016-07-27 57 views
0

我刚刚才知道傀儡,我试图安装laravel,同时流浪者正在配置,这样当我登录/ ssh时已经设置了一切(可以运行laravel)流浪汉。但我卡住了,它返回成功执行但我做了流浪ssh后,laravel命令不可用。流浪傀儡,作曲家无法安装laravel

php5,php5-cli等composer和其他依赖项已经安装在这部分代码之前。

class laravel { 

    Exec { 
     path => "/bin:/sbin:/usr/bin:/usr/sbin", 
    } 

    exec { "install-laravel" : 
     command  => "/usr/local/bin/composer global require 'laravel/installer'", 
     require  => [Package["php5-cli", "php5-dev"], Exec["install-composer", "set-composer-as-global"]], 
     cwd   => "/home/vagrant/", 
     environment => ["COMPOSER_HOME=/home/vagrant"], 
     user  => root, 
     group  => root, 
    } 

    exec { "add-laravel-command" : 
     command  => "mkdir /usr/local/bin/laravel", 
     environment => ["LARAVEL_HOME=/home/vagrant"], 
     onlyif  => "test -d /usr/local/bin/composer", 
     require  => Exec["install-laravel"], 
     user  => root, 
    } 

    exec { "set-laravel-as-globall" : 
     command  => "mv /home/vagrant/.composer/vendor/bin /usr/local/bin/laravel", 
     onlyif  => "test -d /.composer/vendor/bin", 
     require  => Exec["add-laravel-command"], 
     user  => root, 
    } 
} 

输出

==> default: Notice: /Stage[main]/Laravel/Exec[install-laravel]/returns: executed successfully 
==> default: Debug: /Stage[main]/Laravel/Exec[install-laravel]: The container Class[Laravel] will propagate my refresh event 
==> default: Debug: Exec[add-laravel-command](provider=posix): Executing check 'test -d /usr/local/bin/composer' 
==> default: Debug: Executing 'test -d /usr/local/bin/composer' 
==> default: Debug: Exec[set-laravel-as-globall](provider=posix): Executing check 'test -d /.composer/vendor/bin' 
==> default: Debug: Executing 'test -d /.composer/vendor/bin' 
==> default: Debug: Class[Laravel]: The container Stage[main] will propagate my refresh event 

任何帮助将非常感激。由于

+0

傀儡配置的输出是什么? –

+0

hi @MattSchuchard我已经在上面添加了输出。谢谢 – PenAndPapers

+0

这个输出来自重新提供,而不是初始配置,但它似乎仍然指向傀儡不是这里的问题。 –

回答

0

puppet/modules/laravel/files下创建一个文件,并具有下列内容

{            
    "require": {        
     "laravel/installer": "^1.3"   
    }           
} 

Laravel init.pp文件命名为composer.json

class laravel { 

    Exec { 
     path => "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin", 
     user => root, 
     group => root, 
    } 

    file { "/usr/local/bin/laravel-devtools" : 
     ensure => directory, 
     owner => root, 
     group => root, 
    } 

    file { "/usr/local/bin/laravel-devtools/composer.json" : 
     source => "puppet:///modules/laravel/composer.json", 
     require => File["/usr/local/bin/laravel-devtools"], 
     owner => root, 
     group => root, 
    } 

    exec { "install-laravel" : 
     command  => "sudo composer require 'laravel/installer'", 
     onlyif  => "test -f /usr/local/bin/composer", 
     require  => [ 
      Package["nginx","php5-cli", "php5-dev", "php5-mysql"], 
      File["/usr/local/bin/laravel-devtools", "/usr/local/bin/laravel-devtools"], 
     ], 
     environment => ["COMPOSER_HOME=/home/vagrant"], 
     cwd   => "/usr/local/bin/laravel-devtools", 
     user  => root, 
     group  => root, 
    } 

    exec { "set-laravel-as-global" : 
     command => "sudo ln -s /usr/local/bin/laravel-devtools/vendor/laravel/installer/laravel /usr/local/bin/laravel", 
     require => [ 
      File["/usr/local/bin/laravel-devtools", "/usr/local/bin/laravel-devtools/composer.json"], 
      Exec["install-laravel"], 
     ], 
    } 

} 

确保composer规定中首次安装。