21

インストールした新しいバージョンの php を composer で使用するにはどうすればよいですか? すべてのローカル サーバーで php 5.4 をダウンロードして使用していますが、composer をダウンロードすると、Mac のデフォルトの #!/usr/local/bin/env バージョンである 5.3.15 がポイントされます。composer実行可能ファイルを編集して、使用するphpを変更しようとしましたが、実行可能ファイルが壊れました。

composer を使用して Laravel をインストールしようとしていますが、これが原因で間違ったバージョンをダウンロードしています。

これは、composer 実行可能ファイルの上部がどのように見えるかですが、その下には奇妙な文字がたくさんあります。

#!/usr/bin/env php
<?php
/*
 * This file is part of Composer.
 *
 * (c) Nils Adermann <naderman@naderman.de>
 *     Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view
 * the license that is located at the bottom of this file.
 */

Phar::mapPhar('composer.phar');
define('COMPOSER_DEV_WARNING_TIME', 1366931166);
require 'phar://composer.phar/bin/composer';

laravel プロジェクトの composer.json

{
    "require": {
        "laravel/framework": "4.0.*@dev"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-update-cmd": "php artisan optimize"
    },
    "minimum-stability": "dev"
}
4

4 に答える 4

16

永続的な設定を気にしない場合は、以下のコマンドでうまくいきました:

/Applications/MAMP/bin/php/php5.6.27/bin/php /usr/local/bin/composer install

構文は次のとおりです。

{PATH TO YOUR PHP VERSION} {PATH TO COMPOSER EXECUTABLE} {COMPOSER COMMAND}

実行可能パスを知るには:which {EXECUTABLE}非常に役立ちます。例:which composer上記のコマンドで使用した出力を以下に示します:

/usr/local/bin/composer
于 2016-12-24T16:12:19.817 に答える
13

私は問題を見つけました。composer.phar ファイルを /usr/local/bin/ ディレクトリに移動しましたが、何をしても、常に 5.3.15 を使用していました。ビンから実行可能ファイルを削除し、.phar を再ダウンロードしてプロジェクトのルートに移動し、「php composer.phar install」を実行したところ、うまくいったようです。

物事をきれいにするために、私は次のことをしました:

ユーザープロファイルのルートに composer.phar を残しました

/Users/davidadams/composer.phar

次に、.bash_profile を開き、次のエイリアスを追加しました

alias composer='/usr/local/php5/bin/php /Users/davidadams/composer.phar'

そうすれば、グローバルに利用できるようになり、使用するphpバージョンを定義できます。うまくいけば、他の人はこれが役に立つと思うでしょう。

于 2013-03-28T03:12:55.690 に答える
5

デフォルトでは、*nix システムの composer は、環境によって指定された PHP バイナリ/実行可能ファイルを使用します。シバンである最初の行でそれを見ることができます:

#!/usr/bin/env php

代わりに、より具体的な PHP バージョンに対して bang するようにシェルに指示できます。たとえば、次のようになります。

#!/usr/local/php5/bin/php

Windows システムでは、composer セットアップを使用する場合、PHP バイナリを指定することができ、セットアップはそれらのニーズに合わせて環境を変更します。ただし、バッチファイルを簡単に書き換えることもできます。または、特定の PHP バイナリで .phar ファイルを実行するように Windows オペレーティング システムを構成することもできます。

于 2013-03-29T11:46:24.007 に答える