compositor para utilizar la nueva versión de php
laravel composer-php (3)
¿Cómo consigo que el compositor use una versión más nueva de php que he instalado? He descargado y estoy usando php 5.4 en todos mis servidores locales, pero cuando descargo Composer apunta a la versión #! / Usr / local / bin / env predeterminada de mi mac, que es 5.3.15. Intenté editar el ejecutable del compositor y cambiar el php usado pero rompió el ejecutable.
Estoy tratando de usar el compositor para instalar Laravel y está descargando la versión incorrecta debido a esto.
Esto es lo que parece la parte superior de mi ejecutable de compositor, pero luego hay un montón de personajes extraños a continuación.
#!/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'';
composer.json para proyecto laravel
{
"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"
}
Por defecto, el compositor en sistemas * nix utiliza el binario / ejecutable de PHP especificado por el entorno. Puedes ver eso en la primera línea que es el shebang :
#!/usr/bin/env php
Puede decirle al shell que golpee contra una versión de PHP más concreta en su lugar, por ejemplo:
#!/usr/local/php5/bin/php
En los sistemas Windows, si utiliza la configuración del editor, puede especificar el binario de PHP y la configuración cambiará el entorno para satisfacer esas necesidades. Pero también puede reescribir fácilmente el archivo por lotes o configurar el sistema operativo Windows para ejecutar archivos .phar con el binario PHP específico.
Si no te importa la configuración permanente, debajo del comando funcionó para mí:
/Applications/MAMP/bin/php/php5.6.27/bin/php /usr/local/bin/composer install
La sintaxis es:
{PATH TO YOUR PHP VERSION} {PATH TO COMPOSER EXECUTABLE} {COMPOSER COMMAND}
Para conocer la ruta ejecutable: which {EXECUTABLE}
puede ser muy útil. Ej .: which composer
dio abajo la salida que usé en el comando anterior:
/usr/local/bin/composer
encontré el problema Moví el archivo composer.phar a mi directorio / usr / local / bin / y no importa lo que hice, siempre estaba usando 5.3.15. Eliminé el archivo ejecutable de mi contenedor, volví a descargar el archivo .phar, lo moví a la raíz de mis proyectos, ejecuté "php composer.phar install" y parece que funcionó.
Para limpiar las cosas hice lo siguiente:
Dejé composer.phar en la raíz de mi perfil de usuario
/Users/davidadams/composer.phar
Luego abrí mi .bash_profile y agregué el siguiente alias
alias composer=''/usr/local/php5/bin/php /Users/davidadams/composer.phar''
De esa manera, está disponible para mí en todo el mundo y puedo definir qué versión de php quiero usar. Esperemos que otros encuentren esto útil.