2016-07-27 55 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規定中首次安裝。