zoukankan      html  css  js  c++  java
  • Mac下composer安装

    一、自己安装过程:

    #cd /usr/local/bin
    #curl -sS -k https://getcomposer.org/installer | php
    PS:如果出现
    All settings correct for using Composer
    The installation directory "/usr/local/bin" is not writable
    #sudo chown -R $(whoami):admin /usr/local/bin 请输入这一条 -- 然后提示计算机输入密码 -
    在重新执行#curl -sS -k https://getcomposer.org/installer | php
    // 出现如下输出 正常
    All settings correct for using Composer
    Downloading...
    Composer (version 1.3.2) successfully installed to: /usr/local/bin/composer.phar
    Use it: php composer.phar
    #mv composer.phar /usr/local/bin/composer // 全局

    安装过程中出现的问题

    在Linux中安装的应用程序可用需要满足两个条件:1、该应用程序在环境变量的目录里;2、该程序可执行

    例1.

    MFHJ-DZ-001-255deMacBook-Pro% cd /usr/bin 
    MFHJ-DZ-001-255deMacBook-Pro% touch a
    touch: a: Operation not permitted
    MFHJ-DZ-001-255deMacBook-Pro% sudo touch a
    Password:
    touch: a: Operation not permitted

    例2.

    MFHJ-DZ-001-255deMacBook-Pro% cd ../local/bin
    MFHJ-DZ-001-255deMacBook-Pro% touch a
    MFHJ-DZ-001-255deMacBook-Pro% cd 
    MFHJ-DZ-001-255deMacBook-Pro% a  
    zsh: permission denied: a
    MFHJ-DZ-001-255deMacBook-Pro% sudo chmod +x /usr/local/bin/a
    MFHJ-DZ-001-255deMacBook-Pro% a //a可用了
    MFHJ-DZ-001-255deMacBook-Pro% rm /usr/local/bin/a

     sudo chmod +x:加可执行权限

    composer是一个PHP文件但是安装例如beanbun,直接使用composer require kiddyu/beanbun,不必要使用php composer是因为:

    (想了解为什么使用composer require kiddyu/beanbun而不使用创建composer.josn执行composer install,移步文章:https://blog.csdn.net/sanbingyutuoniao123/article/details/52025565)

    MFHJ-DZ-001-255deMacBook-Pro% head /usr/local/bin/composer   
    #!/usr/bin/env php
    <?php
    /*
     * This file is part of Composer.
     *
     * (c) Nils Adermann <naderman@naderman.de>
     *     Jordi Boggiano <j.boggiano@seld.be>
     *
     * For the full copyright and license information, please view
     * the license that is located at the bottom of this file.

    compser头部有一行代码为#!/usr/bin/env php

    了解改行代码作用移步文章:

    二:手册安装教程

    局部安装

    要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中):

    curl -sS https://getcomposer.org/installer | php
    

    注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:

    php -r "readfile('https://getcomposer.org/installer');" | php
    

    这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。

    你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):

    curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
    

    全局安装

    你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。

    你可以执行这些命令让 composer 在你的系统中进行全局调用:

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

    注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。

    现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar

    全局安装 (on OSX via homebrew)

    Composer 是 homebrew-php 项目的一部分。

    brew update
    brew tap josegonzalez/homebrew-php
    brew tap homebrew/versions
    brew install php55-intl
    brew install josegonzalez/php/composer

    三、附加:环境变量:(基于上述手册安装教程分为局部安装和全局安装,引出Linux的环境变量概念)

    (一)、什么是环境变量??? 
    环境变量是在操作系统中具有一个特定名字的对象,它包含了一个或多个应用程序所将要使用到的信息。环境变量相当于给系统或用户应用程序设置的一些参数,具体什么作用这当然和具体的环境变量有关。

    (二)、linux下的环境变量 
    linux是一个多用户的操作系统,每个用户登录系统之后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认的环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 
    在linux中,环境变量一般用大写加下划线命名。环境变量就相当于一个指针,当我们要查看指针所指向的值的时候需要解引用,同样的,当我们要想查看环境变量里面的值的时候,需要在前面加$引用。 
    linux的变量分为环境变量和本地变量: 
    环境变量:是一种全局变量,存在所有的shell中,在登录的时候就有系统定义的环境变量了。linux的环境变量具有继承性,即shell会继承父shell的环境变量。 
    本地变量:当前shell中的变量,本地变量中包含环境变量。linux的本地变量的非环境变量不具备继承性。 
    在linux下面的变量按照生存周期可分为两类: 
    1、永久的:需要修改配置文件,变量永久的生效。 
    2、临时的:使用export命令声明即可,变量在关闭shell时失效。

    (三)、常见的环境变量 
    1、PATH:指定命令的搜索路径。 
    这里写图片描述 
    我们可以看到,在当前目录下,默认的PATH的值。它表示当我们在当前目录下执行一条命令时命令的搜索路径。每一个目录都是以冒号隔开的。例如,当我们执行一个可执行程序是,系统就会到这些目录下面去找,在这些目录下找到的话才执行,找不到的话就不执行。

    举例:

    MFHJ-DZ-001-255deMacBook-Pro% which ls
    /bin/ls

    (对上述全局安装和局部安装解释:局部安装就是安装在/usr/local/bin或者/bin下,局部安装的话只能在该目录下使用,全局安装的话,会安装在$PATH下的每个目录,不管在什么目录下都可以访问该应用程序)

    2、HOME:指定用户的主工作目录(即用户登录到Linux系统时,默认的目录)

    2.1普通用户下的主工作目录: 
    这里写图片描述

    2.2root下的主工作目录: 
    这里写图片描述 
    可以看到,环境变量是一个变量,随着用户的不同,它的值也就不同。

    3、HISTSIZE:保存历史命令记录的条数 
    在linux中可以查找以前输入的命令,HISTSIZE这个环境的值就表示最多保存的记录的数目。 
    这里写图片描述 
    可以看到,上面显示能够保存1000条。

    4、LOGNAME:显示当前用户的登录名 
    这里写图片描述 
    我是用admin这个用户登录的。

    这里写图片描述 
    可以看到,在root权限下仍然是显示登录用户是admin。

    5、HOSTNAME:指主机的名字,应用程序要是用到主机名的话就是从这个变量中获取的。 
    这里写图片描述 
    可以看到,我的主机的名字是bogon。

    6、SHELL:指当前用户使用的是那种Shell。 
    这里写图片描述 
    可以看到,当前用户使用的是/bin/bash。

    7、LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。 
    这里写图片描述 
    可以看到,当前环境下使用的编码集是UTF-8,它表示支持中文输入,因为我装了中文输入法。

    8、MALL:指当前的用户邮件存放的目录。 
    这里写图片描述 
    在当前用户下,邮件存放的目录如上图。

    9、PS1:命令基本提示符,对root是#,对普通用户是$。 
    这里写图片描述

    10、PS2:附属提示符,默认是”>”。 
    这里写图片描述

    注意:上述变量的名字并不是固定的。

    (四)、修改和查看环境变量的命令 
    1、echo:用于显示某个环境变量的值。

    2、env:显示所有环境变量。 
    这里写图片描述 
    上面只截了一部分,可以看到这里面就有我们之前提到的SHELL。

    3、set:显示本地定义的shell变量。 
    这里写图片描述 
    这个也只是截取了一部分。

    4、export:设置一个新的环境变量。 
    4.1注意,一般环境变量都用大写加下划线来命名。 
    这里写图片描述 
    可以看到,当没创建环境变量MY_ENV之前,echo查看的操作失败了。当创建环境变量并给他赋值hello的时候,再次echo查看MY_ENV的话会显示出hello。

    4.2 可以看到,第四行显示当前所在的路径。第七行显示当前目录下的所有文件。第八行清除掉PATH这个环境变量。第九行查看PATH失败。第十一行在ls的话也会失败,这时因为PATH这个环境变量没有了,系统这不到这个目录,所以执行失败。第十三行又将PATH恢复回来。第十五行ls就会成功了,因为这时候PATH中有/home/admin这个目录了。 
    这里写图片描述

    5、unset:清除环境变量 
    这里写图片描述 
    紧接着上面,又将MY_ENV清除掉了,这时候再echo的话又会失败。

    6、readonly:设置只读环境变量 
    这里写图片描述 
    创建一个只读的环境变量MY_ENV,不能再对它进行修改了。因为这是一个临时性的环境变量,所以在用户退出登录以后会自动失效。

    (五)、存放环境变量 的文件 
    我们知道,在linux中一切皆文件。所以环境变量也是存放在文件中的。linux中有很多记载环境变量的文件,他们是按照一定顺序被系统读入的。

    1、/etc/profile: 
    这个文件是每个用户登录时都会运行的环境变量设置,当用户第一次登录时该文件被执行,并从/ect/profile.d目录的配置文件中搜索shell的设置。这个文件的作用就是当用户登录的时候用于获取系统的环境变量,只在登陆的时候获取一次。

    2、/ect/bashrc: 
    在执行完/etc/profile内容后,如果用户运行bash shell的话,则就执行这个文件。当每次一个新的bash shell被打开时,该文件被读取。所以,如果想每打开一个bash都执行某些操作,就可以在这个文件里面设置。

    3、~/.bash_profile: 
    每个用户都可以使用该文件输入自己专用的shell信息,当用户登录时,该文件仅仅被执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。单个用户对于此文件的修改只会影响到他以后的每一次登录。

    5、~/.bashrc: 
    该文件只包含专用于你的bash信息,当你登录时以及每次打开新的shell时,该文件就会自动被读取。

    6、~/.bash_logout: 
    每次在退出shell的时候会执行该文件。它提供了定制用户环境的功能,比如删除账号内的临时文件等命令就可以放在bash_logout文件内。如果这个文件不存在的话则就执行其他的命令。

    总结: 
    这些文件都是为了为用户配置环境变量提供的。可以看到/ect/profile就相当于构造函数,~/.bash_logout就相当于析构函数。 
    这里写图片描述

    参考/转载:

    https://zhidao.baidu.com/question/1387018278306518620.html

    https://docs.phpcomposer.com/00-intro.html

    https://blog.csdn.net/LF_2016/article/details/53843580

  • 相关阅读:
    【起航计划 021】2015 起航计划 Android APIDemo的魔鬼步伐 20 App->Intents createChooser
    【起航计划 020】2015 起航计划 Android APIDemo的魔鬼步伐 19 App->Dialog Dialog样式
    【起航计划 019】2015 起航计划 Android APIDemo的魔鬼步伐 18 App->Device Admin 设备管理器 DeviceAdminReceiver DevicePolicyManager PreferenceActivity的使用
    【起航计划 018】2015 起航计划 Android APIDemo的魔鬼步伐 17 App->Alarm->Alarm Service
    【起航计划 017】2015 起航计划 Android APIDemo的魔鬼步伐 16 App->Alarm->Alarm Controller Alarm事件 PendingIntent Schedule AlarmManager
    【起航计划 016】2015 起航计划 Android APIDemo的魔鬼步伐 15 App->Activity->Wallpaper 系统壁纸作为当前Activity的背景
    【起航计划 015】2015 起航计划 Android APIDemo的魔鬼步伐 14 App->Activity->Translucent Blur 模糊背景
    【前端 JS】我的前端架构养成记之整洁的工作流
    【Android 界面效果49】RecyclerView高度随Item自适应
    【Android 界面效果48】Android-RecyclerView-Item点击事件设置
  • 原文地址:https://www.cnblogs.com/bigclould/p/9316583.html
Copyright © 2011-2022 走看看