Ubuntu 16.04にlaravel 5をインストールします


21

Ubuntu 16.04にlaravel 5をインストールした人はいますか?Ubuntu 16.04に切り替えたばかりで、composerを使用してlaravel 5フレームワークをインストールしようとしています。しかし、プロジェクトを作成しようとするたびに、このエラーが発生します

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.

ここで記事を読みました。そのうちの1人は、Ubuntu 16.04にはデフォルトでPHP7が付属していますが、PHP5を引き続き使用できると言っています。しかし、PHP7とPHP5の両方を試しても、同じエラーが発生します!何か案は?ありがとう

回答:


30

Ubuntu 16.04にLaravelをインストールする方法

更新:Laravel 5.4

この質問に非常に興味があるので、私はそれを更新し、小さなbashスクリプトを作成してLaravelで作業するために必要なものすべてをインストールすることにしました(これはNGINXにあります)

https://github.com/emilas44/laravel-5.4-on-Ubuntu/blob/master/script.sh

単純にコピーして編集することができます...スクリプト内にいくつかのコンポーネントが既にインストールされている場合は、不要な部分は自由に削除できます。


Laravel 5.2は以下にあります:

基本的なもののインストール(オプション)

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

ランプ

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

カール

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

MODを有効にする

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

作曲家

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

phpmyadminをインストールする

sudo apt-get install phpmyadmin     

後でlocalhost / phpmyadminからアクセス可能

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!)

仮想ホストwork.comの作成

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

これをそのドキュメント内に貼り付けます


#/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>

そのサイトを有効にする

sudo a2ensite work.com
service apache2 reload

hostsファイルを修正して、Webブラウザーからアクセスできるようにします

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

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

またはこのコマンドを使用します

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

laravelがインストールされているだけです!

YouTubeで正しい方法を説明するチュートリアルを作成しました。laravelで作業するために必要なすべてのものを使用しています。リンクはこちら:https : //www.youtube.com/watch?v=A6TdaRIsG6g


たとえば、作曲家をsudoとして実行したくない場合、どうすればよいですか?composerでsudoを使用しないでくださいという警告があります。
m33bo 16

あなたは、ユーザとしてのディレクトリを作成し、sudoを使用せずにlaravelと作曲をインストールする必要があります
lewis4u

甘い。私のマシンで
セモ

すみません、chmod 77 5では十分ではありませんか?
デモ

1
ストレージとブートストラップフォルダーには777が必要
lewis4u

3

php 5.6.11を5.6.21にアップグレードしました。

だから、私の場合、私は実行しなければなりませんでした:

sudo apt-get install php5.6-mbstring

PS:5.6.11から5.6.21に次のようにアップグレードした方法:

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

アップグレードの理由:コンポーザーの更新中にzend_mm_heapが破損しました。


3

これらは、新規アップグレード後にUbuntu Server 16.04にLaravel 5をインストールするために必要な手順です。

Mohammad Barhoushが述べたように、最初にすべてのPHPを完全に削除する必要がありました。

  • sudo apt-get -y purge php.*

次に、PHPを再インストールしました。

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

PHP ver.7.0を再インストールした後、Mohhammadが推奨する追加の関連パッケージをインストールしました。

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

そして、MODを有効にしました

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    そして最後に、この作曲家がまだzip拡張機能を持っていなかったと苦情を言っていたcomposer updateので、次のものをインストールしました。

  • sudo apt-get install php7.0-zip

その後、エラーなく正常に実行されました!

これらは、以前のUbuntu ServerのLTSバージョンからlaravel 5を機能させるために必要な手順でした。これが役に立てば幸いです!宜しくお願いします :)

-デリック



1

oerdnjのソリューションは機能しmbstringます。インストール後、php.ini実行前に有効にする必要がありますcomposer install。私の場合、laravelにはext-mbstringとext-domが必要です。
apt-get install php-dom


しかし、彼はそれをphp.iniに追加する方法を教えていません。(
Juliatzin del Toro

1

ご回答ありがとうございました。ようやくこの問題を解決することができました。

  • 最初にphpを完全に削除します。

    sudo apt-get -y purge php.*

  • phpおよびこれらの重要な関連パッケージを再インストールします。

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

  • MODを有効にします(lewis4uビデオのおかげ):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring


1

そこで、構成ファイルで手動で何かを行う必要があります。この記事は本当に役に立ちました。まず、天気を確認する必要がありますmbstring.dllライブラリは、「phpinfo()」関数を使用してシステムに既にインストールされています。有効になっている場合、 'extension = php_mbstring.dll'のコメントを外す代わりに、php.ini構成ファイルにコメントを付けておくか、インストールしない場合は sudo apt-get install php-mbstring php7.0-mbstring

次に、以下を設定します。

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

それだけです。laravelのインストール方法など、他のことは知っていると思います。


1

だから私は上記の男と同じ問題を抱えていたので、php-domをインストールする必要apt-get install php-domがあったので、実行しようとしましたが、メッセージが出ました

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.

ターミナルには少し新しいので、これは少しわかりにくいですが、Ubuntu 16.04をphp7で実行しているので実行apt-get install php7.0-xmlしました。


0

LaravelドキュメントのようにチェックLaravel 5.4Ubuntu 16.04てインストールするには:

  1. ターミナルでPHPバージョンを確認するには:php -v、PHPバージョンはPHP >= 5.6.4
  2. php -m for OpenSSL PHP Extensionおよびで端末をチェックインし PDO PHP Extensionます。
  3. ターミナル:sudo apt install php-mbstring とによって再びチェックphp -mのために Mbstring PHP ExtensionTokenizer PHP Extension

  4. ターミナル:sudo apt install php-xmlそして、再度ご確認php -mのためXML PHP Extension

  5. ターミナルで次の4つの手順でComposerをダウンロードします。

    • php -r "copy( ' https://getcomposer.org/installer '、 'composer-setup.php');"

    • php -r "if(hash_file( 'SHA384'、 'composer-setup.php')=== '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') php ');} echo PHP_EOL; "

    • php composer-setup.php

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

  6. ターミナルでコンポーザーを確認します。 php composer.phar

  7. Laravelをターミナルにインストールします。

    php composer.phar global require "laravel/installer"
    ターミナルの出力は、現在のディレクトリをに表示し、現在のディレクトリに/home/yourname/.config/composer 移動してを押しctrl+hて隠しファイルを表示します。フォルダーに
    移動し、次の内容のフォルダーに移動し.configますcomposercomposer folder contents

  8. 作成Laravel project/var/www/htmlの端末に:

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

  9. ターミナルでmyLaravelを開き、貼り付けて、ブラウザにphp artisan serveコピーhttp://127.0.0.1:8000します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.