跳转到主要内容
首页

用户帐户菜单

  • 登录

主导航

  • 首页
  • 小公司运营
  • 网站建设
  • 创业杂谈
  • 兼职赚钱
  • 小微企业信息化
  • 手册教程
    • 《大伟哥的Drupal 8建站指南》
    • 《通过JohnChow.Com在网上赚钱》
  • 关于

面包屑

  • 首页
  • 使用composer安装Drupal及管理依赖(一)

使用composer安装Drupal及管理依赖(一)

By 大伟哥 | 2020-03-22,周日, 21:11

前言

大伟哥自认不算是不喜欢使用Linux命令行的人,但是与Drupal相关的命令行工具有好几个,包括git,drush,drupal console,还有composer,都是名气很大又功能强大的主,我却一直没有试用一下。因为选择太多又复杂,让我有了恐惧症,干脆一直敬而远之。

直到前两天,大伟哥在Drupal中国微信群里听大牛们聊天说到了composer,蒲公英挺含蓄,只是说“composer不是必须的,但推荐”,而jungle就比较奔放,直接说:“说句不好听的话:composer是不必须,但是不用是傻逼。”

得了,牛人们都这么说了,怎么着也得试一下吧,看看到底是不是真香。

以下内容是大伟哥的学习和实践笔记,部分来源于Composer官网和Drupal官网,由大伟哥翻译整理,还有部分来自于实际操作经验。希望能对大家有所帮助。

一、什么是Composer

Composer是一个解决PHP依赖的管理工具,它可以让你声明你的PHP项目所依赖的库文件,并自动帮你安装或者更新库。

Composer虽然和软件包以及库文件打交道,但是它不是包管理器,和apt还有yum等软件包管理工具还是有区别的,它只是用来解决PHP项目中对外部库的依赖问题。Composer和PHP的关系,类似于Maven之于Java,pip之于Python,gem之于Ruby,npm之于Nodejs。

二、为什么Drupal要用到Composer

使用Composer有很多好处。简单地说,Composer能让我们系统地管理Drupal的大量依赖,它协助我们定位、下载、检验和加载这些依赖库文件,并确保每个库的版本是我们正好需要的。可以说Composer极大地提高了Drupal的开发和管理效率。

特别需要说明的是,Drupal的很多模块特别是那些引用了很多外部js/PHP库的,为了防止手动下载和配置出错,只推荐使用Composer安装。

三、在Ubuntu Server上全局安装Composer

要安装并运行Composer,需要你的计算机上已经安装好PHP,并且版本号要高于PHP 5.3.2。在2020年的今天,PHP基本上都是PHP7.2/PHP7.3甚至PHP7.4的天下了,最古老的PHP5也差不多也有PHP5.6+了吧,所以基本上都可以用上Composer了。

Composer安装分本地安装和全局安装两种形式。所谓的全局安装,其实就是把安装好的composer.phar文件,放到Path环境变量里,这样运行composer的时候,就可以在任意目录直接使用composer而不需要指定这个文件的绝对位置了。

我们用curl下载安装文件并运行:

curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...

Composer (version 1.10.1) successfully installed to: /home/david/composer.phar
Use it: php composer.phar

安装成功后移动composer.phar到/usr/local/bin目录并重命名为composer:

sudo mv composer.phar /usr/local/bin/composer

如果你的电脑上没有安装curl工具,可以按照composer官网https://getcomposer.org/download/上的说明使用php下载并安装:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

四、为Composer更换国内镜像

Composer的官方服务器位于国外,由于地理位置和出国带宽的限制,在国内通过官方服务器获取数据非常慢甚至无法连接,因此我们可以使用国内的Composer镜像服务器,提高速度和稳定性。

非常感谢国内不少热心机构为Composer建立了镜像服务,为我们提供了极大的方便。其中阿里云的Composer全量镜像与Packagist官方实时同步,而且全国的CDN缓存每隔30秒钟刷新一次,完全可以替换官方国外服务器。

阿里云Composer项目地址:https://developer.aliyun.com/composer
镜像地址: https://mirrors.aliyun.com/composer/

全局配置命令:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置命令:

composer config -g --unset repos.packagist

五、Composer常用命令

composer self-update:升级Composer到最新版本
composer diagnose: 执行诊断命令
composer clear: 清除Composer缓存

以上内容是关于Composer的安装和配置的,只是必要的准备工作。从下一篇开始正式使用Composer安装升级Drupal及模块/依赖库。

网站建设
  • 1228 阅读
Drupal
  • 使用www-data用户运行Composer
  • 使用Composer的drupal/recommended-project默认模版下载Drupal核心文件
  • 使用Composer下载和安装Drupal的命令行工具Drush
  • 使用Composer接管以前手动安装的Drupal网站
  • 使用Composer给Drupal打Patch补丁
  • Composer:PHP error: “The zip extension and unzip command are both missing, skipping.”
  • Composer: Could not delete web/sites/default/default.settings.php

Book traversal links for 使用composer安装Drupal及管理依赖(一)

  • ‹ Drupal怎么进行分类和创建栏目?
  • 向上
  • 使用www-data用户运行Composer ›

添加新评论

此字段内容将保密,不会被其他人看见。
关于文本格式
  • 不允许使用HTML标签。
CAPTCHA
1 + 2 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。

搜索

手册导航

  • 网站本地测试开发要尽量使用linux环境
  • Ubuntu Server 16.04安装LAMP网络服务器套件
  • 在测试机上配置Apache服务器下的第一个虚拟主机
  • 在测试服务器上安装第一个Drupal网站
  • Drupal 8/9安装及配置中文语言包
  • Ubuntu Server下启用Apache Rewrite模块
  • drupal 8小版本间升级详细说明
  • Drupal 8多站点实现:使用一套Drupal代码运行多个不同网站
  • Drupal 8网站迁移的步骤和注意事项
  • Drupal 8设置信任主机
  • 安装Drupal 8后除了首页外全是not found
  • Drupal 8解决5次输入密码暂时锁定帐号登录
  • 使用Drupal的SMTP模块发送邮件
  • Drupal怎么进行分类和创建栏目?
  • 使用composer安装Drupal及管理依赖(一)
    • 使用www-data用户运行Composer
    • 使用Composer的drupal/recommended-project默认模版下载Drupal核心文件
    • 使用Composer下载和安装Drupal的命令行工具Drush
    • 使用Composer接管以前手动安装的Drupal网站
    • 使用Composer给Drupal打Patch补丁
    • Composer:PHP error: “The zip extension and unzip command are both missing, skipping.”
    • Composer: Could not delete web/sites/default/default.settings.php
  • 新安装的Drupal 8默认能实现什么功能?
  • 给Drupal8/9网站添加基本页面
  • 让Drupal 8/9显示内容最近编辑时间
  • 给Drupal安装后台搜索服务xunsearch
  • Drupal 8/9 让某个字段仅对注册登录用户显示
  • Drupal Commerce 电子商务方案指南

沪ICP备17000093号-1

公安备案沪公网安备 31011402008254号

© 2016-2022 大伟哥博客版权所有