2016-07-27 12 views
0

私は最近、人形について知っていましたが、私は/ sshにログインしたときにすべてが既に設定されている(laravelを実行できるように)迷惑です。しかし、私は立ち往生した、それは返さが成功したを実行したが、私は後悔したsshを実行した後、laravelコマンドは利用できません。迷路人形、作曲家がlaravelをインストールできない

php5、php5-cliなどのコンポーザーやその他の依存関係は、コードのこの部分より前にインストールされています。

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下のファイルを作成し、composerが提供時に最初にインストールされていることを確認し、それ以下の内容でcomposer.json

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

Laravelのinit.ppファイル

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"], 
     ], 
    } 

} 

名前を付けます。

関連する問題