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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM