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

转载于:https://www.cnblogs.com/bigclould/p/9316583.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值