Instala laravel 5 en Ubuntu 16.04

21

¿Alguien instaló laravel 5 en Ubuntu 16.04? Acabo de cambiar a Ubuntu 16.04 y estoy tratando de instalar laravel 5 framework usando compositor. Pero cada vez que trato de crear un proyecto me da este error

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - laravel/laravel v5.2.0 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
    - laravel/laravel v5.2.15 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
    - laravel/laravel v5.2.23 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
    - laravel/laravel v5.2.24 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
    - laravel/laravel v5.2.27 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
    - laravel/laravel v5.2.29 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
    - laravel/laravel v5.2.31 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
    - laravel/framework v5.2.9 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.8 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.7 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.6 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.5 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.4 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.31 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.30 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.3 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.29 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.28 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.27 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.26 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.25 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.24 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.23 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.22 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.21 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.20 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.2 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.19 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.18 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.17 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.16 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.15 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.14 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.13 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.12 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.11 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.10 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.1 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - laravel/framework v5.2.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - Installation request for laravel/laravel ^5.2 -> satisfiable by laravel/laravel[v5.2.0, v5.2.15, v5.2.23, v5.2.24, v5.2.27, v5.2.29, v5.2.31].

  To enable extensions, verify that they are enabled in those .ini files:
    - /etc/php/5.6/cli/php.ini
    - /etc/php/5.6/cli/conf.d/10-opcache.ini
    - /etc/php/5.6/cli/conf.d/10-pdo.ini
    - /etc/php/5.6/cli/conf.d/20-calendar.ini
    - /etc/php/5.6/cli/conf.d/20-ctype.ini
    - /etc/php/5.6/cli/conf.d/20-exif.ini
    - /etc/php/5.6/cli/conf.d/20-fileinfo.ini
    - /etc/php/5.6/cli/conf.d/20-ftp.ini
    - /etc/php/5.6/cli/conf.d/20-gettext.ini
    - /etc/php/5.6/cli/conf.d/20-iconv.ini
    - /etc/php/5.6/cli/conf.d/20-json.ini
    - /etc/php/5.6/cli/conf.d/20-phar.ini
    - /etc/php/5.6/cli/conf.d/20-posix.ini
    - /etc/php/5.6/cli/conf.d/20-readline.ini
    - /etc/php/5.6/cli/conf.d/20-shmop.ini
    - /etc/php/5.6/cli/conf.d/20-sockets.ini
    - /etc/php/5.6/cli/conf.d/20-sysvmsg.ini
    - /etc/php/5.6/cli/conf.d/20-sysvsem.ini
    - /etc/php/5.6/cli/conf.d/20-sysvshm.ini
    - /etc/php/5.6/cli/conf.d/20-tokenizer.ini
  You can also run 'php --ini' inside terminal to see which files are used by PHP in CLI mode.

Installation failed, deleting ./composer.json.

Leí artículos Aquí uno de ellos dice que Ubuntu 16.04 viene con PHP7 como predeterminado, pero aún podemos usar PHP5. Sin embargo, probé PHP7 y amp; PHP5 y aún recibe los mismos errores! ¿Algunas ideas? Gracias

    
pregunta Mohammad Barhoush 29.04.2016 - 07:40

9 respuestas

30

Cómo instalar Laravel en Ubuntu 16.04

Actualización: Laravel 5.4

Debido al gran interés de esta pregunta, he decidido actualizarla y crear un pequeño script bash para instalar todo lo que necesita para trabajar con Laravel (este es con NGINX)

enlace

Simplemente puede copiarlo y editarlo como lo desee ... quizás ya tenga algunos componentes instalados dentro del script, de ser así, puede eliminar libremente las partes que no necesita.

Laravel 5.2 está abajo:

instalación de cosas básicas (opcional)

sudo apt-get install git
sudo apt-get install zip

LAMP

sudo apt-get install tasksel
sudo tasksel install lamp-server

CURL

sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext

habilitar mods

sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite
sudo systemctl restart apache2

Compositor

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

instalar phpmyadmin

sudo apt-get install phpmyadmin     

más tarde accesible a través de localhost / phpmyadmin

Crear proyecto Laravel

cd /var/www/html/
sudo composer create-project laravel/laravel work --prefer-dist
sudo chmod -R 777 work (do not set 777 on "live" server!)

Creación de un host virtual work.com

sudo gedit /etc/apache2/sites-available/work.com.conf

y pegue esto dentro de ese documento

#/etc/apache2/sites-available/work.com.conf contains following lines
<VirtualHost *:80>
        ServerName work.com
        DocumentRoot /var/www/html/work/public

        <Directory /var/www/html/work/public>
            AllowOverride All
            Require all granted
        </Directory>
</VirtualHost>

habilitar ese sitio

sudo a2ensite work.com
service apache2 reload

arregla el archivo de hosts para que puedas acceder a él a través del navegador web

sudo gedit /etc/hosts //space between gedit and destination!

        #/etc/hosts contents following lines                                
        127.0.0.1       work.com

o usa este comando

sudo -- sh -c "echo '\n127.0.0.1 \twork.com'>> /etc/hosts"

¡Eso es lo que está instalado laravel!

He hecho un tutorial en youtube sobre cómo hacerlo bien ... con todas las cosas que necesita para trabajar con laravel. Aqui esta el link: enlace

    
respondido por el lewis4u 05.05.2016 - 12:29
3

Actualicé php 5.6.11 a 5.6.21.

Entonces, en mi caso tuve que correr:

sudo apt-get install php5.6-mbstring

PD: Cómo actualicé de 5.6.11 a 5.6.21 a continuación:

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php 
sudo apt-get update 
sudo apt-get install php5.6

Motivo de la actualización: zend_mm_heap dañado durante la actualización del compositor.

    
respondido por el anD 12.05.2016 - 08:43
3

Estos son los pasos que tuve que seguir para instalar Laravel 5 en Ubuntu Server 16.04 después de una nueva actualización

Primero tuve que eliminar por completo todo PHP, por lo que Mohammad Barhoush dijo:

  • sudo apt-get -y purge php.*

Luego reinstalé PHP con:

  • sudo apt install php libapache2-mod-php
  • sudo apt install php-cli
  • sudo apt install php-mysql

Después de reinstalar PHP ver.7.0 instalé los paquetes adicionales relacionados que Mohhammad recomendó:

  • sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext php-gd

Y habilitó los mods

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    Y, finalmente, después de todo, este compositor todavía estaba lamentando que no tenía la extensión zip para composer update , así que instalé lo siguiente:

  • sudo apt-get install php7.0-zip

¡Después de eso funcionó perfectamente sin errores!

Estos fueron los pasos necesarios para obtener el funcionamiento de laravel 5 proveniente de la versión anterior de LTS de Ubuntu Server. Espero que esto haya ayudado! Saludos cordiales:)

-Derick

    
respondido por el Derick Vigne 09.06.2016 - 18:58
2

La extensión PHP mbstring ahora reside en un paquete separado, por lo que debes hacer lo siguiente:

apt-get install php-mbstring
    
respondido por el oerdnj 29.04.2016 - 10:39
1
La solución de

oerdnj funciona, después de instalar mbstring debe habilitarlo en php.ini antes de ejecutar composer install . En mi caso, laravel requiere ext-mbstring y ext-dom:
apt-get install php-dom

    
respondido por el spqa 02.05.2016 - 02:01
1

Así que tuve el mismo problema que el tipo anterior en el que necesitaba instalar php-dom, así que traté de ejecutar apt-get install php-dom , pero el mensaje acaba de aparecer

Package php-dom is a virtual package provided by:
php5.5-xml 5.5.35-1+donate.sury.org~xenial+2
php7.0-xml 7.0.6-1+donate.sury.org~xenial+1
php5.6-xml 5.6.21-1+donate.sury.org~xenial+2
You should explicitly select one to install.

Como soy un poco nuevo en el terminal, encontré esto un poco confuso, pero estoy ejecutando unbuntu 16.04 con php7, así que acabo de ejecutar: apt-get install php7.0-xml y eso funcionó para mí ... espero que ayude a alguien!

    
respondido por el Matthew Jonat 05.05.2016 - 05:06
1

Gracias a todos por sus respuestas ... Finalmente puedo resolver este problema haciendo lo siguiente:

  • Eliminar completamente php primero:

    sudo apt-get -y purge php.*

  • Reinstale php y estos importantes paquetes relacionados:

    sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext

  • Activar mods (Gracias al video de lewis4u):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring

respondido por el Mohammad Barhoush 07.05.2016 - 07:50
1

Allí debe hacer algo manualmente en el archivo de configuración. Descubrí que este artículo fue realmente útil . En primer lugar, es necesario comprobar si la biblioteca mbstring.dll ya está instalada en el sistema con la función 'phpinfo ()'. Si está habilitado, en lugar de descomentar 'extension = php_mbstring.dll' simplemente manténgala comentada en el archivo de configuración de php.ini o si no está allí, instálela   sudo apt-get install php-mbstring php7.0-mbstring

Luego, simplemente configure lo siguiente.

; mbstring.language = All
;mbstring.internal_encoding = UTF-8
;mbstring.http_output = UTF-8
;mbstring.encoding_translation = On
;mbstring.func_overload = 0

Eso es ... Creo que sabes el resto de las cosas, como cómo instalar laravel y todo ..

    
respondido por el ARUN Madathil 15.08.2017 - 13:19
0

Para instalar Laravel 5.4 en Ubuntu 16.04 como en la documentación de Laravel con verificación:

  1. Compruebe su versión de PHP en el terminal por: php -v , su versión de php debe ser PHP >= 5.6.4
  2. Check in terminal con php -m para OpenSSL PHP Extension y PDO PHP Extension .
  3. Terminal: sudo apt install php-mbstring y revisa nuevamente por php -m para Mbstring PHP Extension y Tokenizer PHP Extension .

  4. Terminal: sudo apt install php-xml y revisa nuevamente por php -m para XML PHP Extension

  5. Descargar Composer por estos 4 pasos en la terminal:

    • php -r "copy (' enlace ', 'composer-setup.php'); "

    • php -r "if (hash_file ('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') {echo 'Instalador verificado'; } else {echo 'Instalador dañado'; unlink ('composer-setup.php'); } echo PHP_EOL; "

    • php composer-setup.php

    • php -r "unlink ('composer-setup.php');"

  6. Comprobar el compositor en la terminal: php composer.phar

  7. Instalar Laravel en la terminal:

    php composer.phar global require "laravel/installer"
    La salida en la terminal mostrará su directorio actual a /home/yourname/.config/composer , vaya a su directorio actual y presione ctrl+h para mostrar el archivo oculto.
    Vaya a la carpeta .config y luego a la carpeta composer con los siguientes contenidos: contenido de la carpeta del compositor

  8. Crear Laravel project en /var/www/html en terminal:

    php composer.phar create-project --prefer-dist laravel/laravel /var/www/html/myLaravel

  9. Abre myLaravel en la terminal y luego pega: php artisan serve y copia http://127.0.0.1:8000 en tu navegador

respondido por el Noha Salah El Tohamy 13.07.2017 - 12:01

Lea otras preguntas en las etiquetas