web-dev-qa-db-ja.com

composer新しいバージョンのphpを使用するには

インストールした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 <[email protected]>
 *     Jordi Boggiano <[email protected]>
 *
 * 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"
}
20
David

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

/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
17
div

私は問題を見つけました。 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バージョンを使用するかを定義できます。うまくいけば、他の人がこれが役に立つと思うでしょう。

13
David

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

#!/usr/bin/env php

より具体的なPHP=バージョンの代わりに強打するようにシェルに指示することができます。例:

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

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

5
hakre
Sudo vim ~/.bash_profile

追加

export PATH="/Applications/MAMP/bin/php/php7.3.1/bin:$PATH"

上記のパスには私がphp 7.3.1を持っているので、それをあなたが持っているパスに変更してください

次にEscを押してから:wq

0
Raul