进阶篇20. 安装Composer,使用Composer安装Drush和Drupal
composer在Drupal的开发生态圈中也扮演着很重要的作用,很多工具、插件、甚至模块和主题的安装都需要使用它,因此,如果要深入使用Drupal,composer是必备的工具。
Composer的官网上有详细的介绍。这里是中文翻译版本。
下面的安装步骤是在MAC上进行的。如果你使用的是windows,参见这里。
安装Composer
安装步骤如下:
1. 在终端中运行下面的命令:
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
如果你已经安装了,则可以省略。
2. 将composer的路径加入到 .bash_profile 或者 .zshrc中, 这一步我没有做
$ export PATH="$HOME/.composer/vendor/bin:$PATH"
但是我在bash_profile中添加了以下代码,以指定php和mysql的位置和版本:
export PATH="/Volumes/TS/devdesktop/mysql/bin:$PATH"
export PATH="/Volumes/TS/devdesktop/php7_0/bin:$PATH"
3. 重新加载bash_profile文件:
$ source ~/.bash_profile
使用Composer安装Drush
- 使用composer全局安装Drush的主版本:
$ composer global require drush/drush:dev-master
- 全局升级所有用composer安装的东西:
$ composer global update
修改Drush版本,有2个方法:
- 修改全局的composer.json文件,然后运行composer global update,如果是本地的composer.json文件,就运行composer update。
- 直接用composer require获取想要的版本:
composer global require drush/drush:8.* 此处为全局
composer require drush/drush:8.* 此处为本地
执行这个命令的同时会修改相应的composer.json文件中drush的版本。
使用composer安装Drupal和drush的一些注意事项
cd 到acquit devdesktop的项目文件夹,它里面应该包含着你在本地安装的所有Drupal网站,运行一下命令:
composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction
这其中的some-dir是你新安装的Drupal项目的文件夹名称。
- 以上命令安装好的是Drupal的最新版和Drush8.1.15(目前)。这是一个可以使用的版本。很多文档说Drupal8.4以后要使用Drush9,但是实际情况并非如此,Drush9会出问题,8不会(当然这里不排除以后的情况会变化)。
- 使用which php 和 which drush可以查看使用的是系统中的哪一个php和Drush。
- 使用 php -v 和 Drush version可以查看他们的版本
- 使用drush status可以查看关于Drush的更多信息。运行drush命令必须在网站目录下。
- acquia devdesktop自带drush7、全局环境和本地环境中也都可能安装了drush,在网站根目录下使用vendor/bin/drush 可以运行网站环境中由composer安装的Drush。如:
$ vendor/bin/drush version
因此,对于初学者来说非常容易混淆的是,如果你使用Drush得到的结果和文档不一样,或者出错了,首先你要搞清楚你在运行哪一个Drush,这个Drush是什么版本。Drush的不同版本分别支持不同的Drupal版本。
6. 为了不必每次都输入vendor/bin/drush,可以安装一个drush launcher:https://github.com/drush-ops/drush-launcher
或者也可以只使用全局的Drush。
如何确定Drush可以正常运行
在网站目录下运行drush cr和drush version一个会提示缓存重建成功(Cache rebuild complete. ),另一个会提示drush版本号。只要这两个都没有弹出错误和警告说明Drush已经可以正常运行了。可以进入下一步。