在composer官网下载得到:https://getcomposer.org/download/

Composer-Setup.exe

安装时注意:安装过程中,会提示你选择php安装目录.一直到php.exe这里

  1. 右键以管理员身份运行:Composer-Setup.exe

  2.  

    点击第一步的next后出现如图:

    里面填写php.exe的位置。

    也可以自己修改,指定到其他php.exe目录中

    然后点击next.

  3.  

    然后点击install,出现安装界面。

  4.  

    安装完成后会提示打开cmd,输入composer

    出现如图所示则表示安装成功。

  5. 6

    这样就可以通过composer安装各种依赖小工具了!

报错解决:

如果安装过程中报错:

[RuntimeException]
Could not load package classpreloader/classpreloader in http://packagist.org: [UnexpectedValueException] Could not parse version constraint ^1.2.2: Invalid version string "^1.2.2"

则表示需要更新Composer:
执行如下命令:

composer self-update

执行完更新后再次执行安装命令即可。

服务器配置

在上面的操作完成后,就是配置该站点在web服务器上,我相信这些操作,只要有过网站开发经验的人都有,我就不详细介绍了。这里要注意一点的就是,配置网站的时候,根目录是public,为不是最Laravel_site,配置好了,运行如下:

7.完成安装需要一定时间,等待安装完成后,即可在浏览器中通过http://localhost/laravelapp/public来访问新安装的Laravel应用

composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。

因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是

"monolog/monolog": "1.*",

安装的是 monolog 1.1 版本,而一个多月以后的现在,monolog 已经是 1.2 了,运行命令后直接更新到 1.2,这时项目并没有针对 1.2 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知 道。

那应该使用哪个命令呢?install, update 还是 require ?

接下来我们一一解释。

简单解释

简单解释

  • composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;

  • composer update - 从 composer.json 安装最新扩展包和依赖;

  • composer update vendor/package - 从 composer.json 或者对应包的配置,并更新到最新;

  • composer require new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.

流程

接下来介绍几个日常生产的流程,来方便加深大家的理解。

流程一:新项目流程

  1. 创建 composer.json,并添加依赖到的扩展包;

  • 运行 composer install,安装扩展包并生成 composer.lock

  • 提交 composer.lock 到代码版本控制器中,如:git;

流程二:项目协作者安装现有项目

  • 克隆项目后,根目录下直接运行 composer install 从 composer.lock 中安装 指定版本 的扩展包以及其依赖

  • 流程三:为项目添加新扩展包

    • 使用 composer require vendor/package 添加扩展包;

    • 提交更新后的 composer.json 和 composer.lock 到代码版本控制器中,如:git;

    • 关于扩展包的安装方法

      那么,准备添加一个扩展包,install, update, require 三个命令都可以用来安装扩展包,选择哪一个才是正确的呢?

      答案是:使用 composer require 命令

      另外,在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态,别给自己留坑呀。

      上面的概念不论对新手或者老手来说,都比较混淆,主要记住这个概念:

      原有项目新添加扩展的,都使用 composer require new/package 这种方式来安装。

Windows下面安装并运行composer的步骤的更多相关文章

  1. [翻译]第一天 - 在 Windows 下安装和运行 .NET Core

    原文: http://michaelcrump.net/getting-started-with-aspnetcore/ 免责声明:我不是 .NET Core 开发团队的一员,并且使用的是公开.可用的 ...

  2. Windows中安装Linux子系统的详细步骤

    早就听说Windows中可以安装Linux子系统,体验了一下,感觉还是不错的,下面直接开始安装和配置步骤吧! 开启Windows中的配置 首先开启开发者模式 打开"所有设置"进入& ...

  3. windows 下安装和运行 hadoop

    windows下安装hadoop,直接去官网采用简单暴力的方法: 1.下载hadoop的安装包:http://hadoop.apache.org/->左边点Releases->点mirro ...

  4. Windows下安装配置SubVersion的简明步骤

    [使用的安装程序和文档说明] svn-1.4.0-setup.exe:Subversion服务端1.4.0安装程序: SubService.rar:  SubServe服务Windows辅助工具; T ...

  5. yii在Windows下安装(通过composer方式)

    Composer 安装: (Composer 不是一个包管理器,它仅仅是一个依赖管理工具.它涉及 "packages" 和 "libraries",但它在每个项 ...

  6. 【ANSIBLE】ansible控制windows插件安装及运行error与解决方法

    一. 问:因pip版本问题无法安装kerberos 答:安装提示需要先安装pip升级包 下载pip9.0.1升级包: https://pypi.python.org/packages/b6/ac/70 ...

  7. Windows 7安装PHP运行环境和开发环境

    1. 安装Apache 下载地址:http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32 如需更改端口:打开Apache安装目录下conf目 ...

  8. [TensorFlow]Windows下安装并运行Hello World

    参考网址:https://www.tensorflow.org/install/pip (或要VPN) 建议电脑是独显N卡机,安装前先升级驱动,减少不必要错误 1.下载Microsoft Visual ...

  9. (转载)WindowsXP上安装和运行神器SqlMap的步骤

    在Windows XP上安装和运行SqlMap的步骤…… 1.首先下载SqlMap 点击下载. https://codeload.github.com/sqlmapproject/sqlmap/leg ...

随机推荐

  1. ssh采用expect实现自动输入密码登录、拷贝

    1. 引言 最近做了一个项目,需要频繁与另一台主机进行文件的传输:中间想到了很多方式:FTP.samba.curl等,但是还是感觉scp最好用. SCP使用教程可参阅:http://www.jb51. ...

  2. java的四个基本特征

    现实生活中的事物被抽象成对象,把具有相同属性和行为的对象被抽象成类,再从具有相同属性和行为的类中抽象出父类. 封装 隐藏对象的属性和实现细节,仅仅对外公开接口. 封装的有优点: 1.便于使用者正确.方 ...

  3. Linux NFS存储服务部署

    什么是NFS 中文意思是网络文件系统,主要功能是通过网络(一般是局域网)让不同主机之间可以共享文件或目录 NFS属于本地文件存储服务 缺点1: 1 2 3 4 5 6 7 windows上无法使用   ...

  4. HDFS 安全模式的理解

    安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性. 当集群启动的时候,会首先进入安全模式.当系统处于安全模式时会检查数据块的完整性.假设我们设置的副本数(即参数dfs.replic ...

  5. TestOps宣言

    TestOps   TestOps离不开敏捷 TestOps是测试驱动的一种延伸,它强调测试人员与运维人员沟通协作规范化的实践模式. DevOps的持续集成与持续交付,实现了从代码到服务的快速落地.而 ...

  6. userDefineFunc.js

    var scareMe = function(){ console.log("cynthia") scareMe = function(){ console.log("w ...

  7. lfs(systemv版本)学习笔记-第2页

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemv)学习笔记-第1页 的地址:https://www.cnblogs.com/renren-study-no ...

  8. PHP7.27: connect mysql 5.7 using new mysqli_connect

    <!doctype html> <html> <head> <meta name="viewport" content="wid ...

  9. demo:复制粘贴功能

    复制链接功能,也是为了方便用户一键"复制",粘贴链接和文本到指定位置,在此,接着上一篇"demo:生成专属二维码link "来记录一键"复制" ...

  10. Html5画钟表盘/指针实时跳动

    1.最终效果 时钟.分钟.秒指针连续移动2.完整代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&q ...