2017-01-06 19 views
0

私は作者のpost-update-cmdとLaravelを使用しています。私のコードはPHP 7で書かれていますが、私はphp artisan ide-helper:generateの実行時に構文エラーが発生するため、コンポーザーのスクリプト呼び出しが古いバージョンを実行していると思います。ターミナルでコマンドを手動で実行しても、エラーは発生しません。構文エラーを引き起こす古いPHPバージョンを実行しているComposer PHPスクリプト?

特定のphpパスを使用するように作者のphpを指定または設定するにはどうすればよいですか? @phpを使用すると、パスが無効になると、「職人」として動作するようには思えない。ここで

You made a reference to a non-existent script @php artisan ide-helper:generate

は私のcomposer.jsonです:

... 
"post-update-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postUpdate", 
      "php artisan ide-helper:generate", 
      "php artisan ide-helper:meta", 
      "php artisan optimize" 
     ] 
... 
+2

あなたは正確なエラーを投稿できますか? – Aerendir

+0

'エラー出力:PHP解析エラー:予期しない構文エラー、 ':'、予期している ';'戻り値の型はPHP 7でのみサポートされています –

+0

コマンドラインに行き、 'php -v'を実行すると、' php cli'バージョンです。私はcliが 'php7'ではないと思っています –

答えて

0

だから、作曲は何とかもかかわらず、古いPHPを実行している私〜/ .bash_profileはphpを新しいバージョンに指定しています。

php -vを実行すると、PHP 7が表示されていましたが、composer exec 'php -v'を実行しているときにphp 5.6が表示されていました。

これで数日間悩まされた私はついにこれを試しました。どうやら、〜/ .bash_profileの順序は重要です。

私はこの変更:今すぐcomposer exec 'php -v' phpの7を示し

export PATH=/Applications/MAMP/bin/php/php7.0.8/bin:$PATH 
alias composer="php /usr/local/bin/composer.phar" 

source ~/.bash_profile

を実行することで、プロファイルをリロード:へ

alias composer="php /usr/local/bin/composer.phar" 
export PATH=/Applications/MAMP/bin/php/php7.0.8/bin:$PATH 

を!私は、同様のエラーを受け取った

2

(私の特定のエラーが最終的なスクリプト、@php職人の最適化であった)

Composerはすでに正しくPHP 7.1を使用していました。コンポーザーselfupdateを実行するとこのエラーが修正されました。

0

まず、あなたのPHPのバージョンを確認してください。それが起こって競合があります間違ったバージョンを見せている場合php -v

:あなたのコマンドプロンプト(CMD)に、このコマンドを入力して

。ファイルがどこから来ているプロンプトは、今を教えてくれますphp --ini

はあなたのPHPのソースを見つけることによって、競合するアプリ(CMD)を見つけます。 その後、古いPHPファイルをホストしているアプリをアンインストールできます。それから、あなたのシステムは新しいPHPを自動的に使うべきです。

+0

プロンプトコマンド用のコードスタイリングの使用を推奨します。 –

関連する問題