作曲家使用较新版本的 php

2022-08-30 19:56:38

我如何让作曲家使用我已安装的较新版本的php?我已经下载并在我所有的本地服务器中使用php 5.4,但是当我下载作曲家时,它指向我的Mac的默认#!/usr/local/bin/env版本,即5.3.15。我尝试编辑作曲家可执行文件并更改使用的php,但它破坏了可执行文件。

我正在尝试使用作曲家来安装Laravel,因此它下载了错误的版本。

这是我的作曲家可执行文件的顶部的样子,但下面有一堆奇怪的字符。

#!/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';

composer.json for laravel project

{
    "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"
}

答案 1

如果您不关心永久设置,以下命令对我有用:

/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

答案 2

我发现了问题。我将 composer.phar 文件移到了我的 /usr/local/bin/ 目录,无论我做什么,它总是使用 5.3.15。我从我的bin中删除了可执行文件并重新下载了.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版本。希望其他人会发现这很有用。


推荐