ubuntu 16.04 安装laravel 出错

当安装laravel 时出现这堆错误:

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

Problem 1
– phpunit/phpunit 5.7.9 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.8 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.7 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.6 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.5 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.21 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.20 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.19 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.18 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.17 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.16 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.15 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.14 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.13 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.12 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.11 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.10 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– phpunit/phpunit 5.7.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
– Installation request for phpunit/phpunit ~5.7 -> satisfiable by phpunit/phpunit[5.7.0, 5.7.1, 5.7.10, 5.7.11, 5.7.12, 5.7.13, 5.7.14, 5.7.15, 5.7.16, 5.7.17, 5.7.18, 5.7.19, 5.7.2, 5.7.20, 5.7.21, 5.7.3, 5.7.4, 5.7.5, 5.7.6, 5.7.7, 5.7.8, 5.7.9].

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

 

执行命令:

sudo apt-get install php-xml

 

后重新安装就可以了。

请确定你已将 ~/.composer/vendor/bin 路径加到 PATH,只有这样系统才能找到 laravel 的执行文件

安装larave时,有这个要求:请确定你已将 ~/.composer/vendor/bin 路径加到 PATH,只有这样系统才能找到 laravel 的执行文件

那这个怎么做呢?

执行以下命令

export PATH="$PATH:$HOME/.composer/vendor/bin"

添加路径到 PATH, 当然,这个只在当前会话生效。

如果你想让它一直生效,可以修改 $HOME/.bashrc 这个文件,将变量写入

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

执行以下命令,生效。

source ~/.bashrc

 

PS: 在一些系统中不是文件 ~/.bashrc, 可以修改文件 ~/.bash_profile也是一样的。

laravel5使用caffeinated/modules模块化开发

laravel5默认目录结构如下

现在我们需要在app下使用创建文件夹modules下面放置各种模块 admin、api、front等等,就需要用到/modules 

在https://github.com/caffeinated/modules/wiki 中有介绍详细的安装方法

1.通过composer安装<至于如何使用composer请自行搜索>

laravel5.3以上可以直接在laravel根目录使用安装

composer require caffeinated/modules

由于笔者使用laravel5.1,所以

在lavravel的composer.json中添加

"caffeinated/modules": "3.0.*"

然后执行composer update ,安装成功

在/vendor下看到caffeinated文件夹

 

 

2.配置modules到项目中

配置Service Provider

在config/app.php的providers中添加

Caffeinated\Modules\ModulesServiceProvider::class

配置Facade在config/app.php的Facade中添加

‘Module’ => Caffeinated\Modules\Facades\Module::class

 

 

3.使用laravel 的artisan来生成modules,生成成功后可以在app目录多了一个文件夹modules,并且下面有admin模块,有自己的controller和route

php artisan make:module Admin

(ps:如果不能使用php命令,请将php的安装目录添加到系统的环境变量中)

下面列出一些modules可执行的命令

Generators

  • make:module
  • make:module:controller
  • make:module:migration
  • make:module:request
  • make:module:test

Module Specific

  • module:disable
  • module:enable
  • module:list
  • module:migrate
  • module:migrate:refresh
  • module:migrate:reset
  • module:migrate:rollback
  • module:seed

 

 

友情提示:

laravel5.1不要配7.2…