[英]Installing Composer globally for laravel usage?
我在全球安裝composer時遇到了一些麻煩。
我將composer安裝到我的'C:\\ wamp \\ bin \\ php \\ php5.4.12'目錄(我正在使用WAMP)並使用命令: php composer.phar create-project
在'C:\\ wamp \\ www \\ project'中創建一個項目php composer.phar create-project
。
問題是我只能在我安裝它的目錄(bin \\ php \\ php5.4.12)中使用php composer.phar
命令,這個目錄已經在我的路徑變量中了。
他們也是一個composer.bath文件,包括在那個目錄中: "@ECHO OFF" "php '%~dp0composer.phar' %*"
應該使它全局但是當我在另一個目錄中使用composer命令時(我的項目目錄) )使用cmd
,彈出一個錯誤說:
“@ECHO OFF”“php'C:\\ wamp \\ bin \\ php \\ php5.4.12 \\ composer.phar ......”
“@ECHO OFF”不被識別為內部或外部命令可操作程序或批處理文件。
有沒有人知道問題是什么?
找到你的`php.exe文件,它可能在:
C:\wamp\bin
or
C:\wamp\bin\php
在同一文件夾中創建一個文件(使用記事本) composer.bat
並將此行添加到其中:
@php C:\wamp\bin\php\php5.4.12\composer.phar %*
關閉並嘗試從任何地方運行composer:
cd\
composer --version
雖然已經發布了正確的答案,但值得一提的是,有一個用於作曲家的Windows安裝程序https://getcomposer.org/Composer-Setup.exe
你可以像任何其他exe文件一樣安裝它。 在安裝過程中,它會詢問php.exe的路徑。 它通常位於C:\\ wamp \\ bin \\ php \\ php {php-version} \\ php.exe
安裝完成后,您必須通過單擊右下角任務欄中的WAMP圖標手動啟用php_openssl,php_curl,php_socket。 然后在PHP-> PHP Extensions中單擊上面的三個擴展來啟用它們。
您還必須通過更改; extension = php_openssl.dll到extension = php_openssl.dll來啟用所有php.ini文件中的openssl,即通過刪除取消注釋以上行;
參考: http : //perials.com/install-composer-on-windows-and-wamp/
如此處所述在 Windows機器中打開命令提示符,然后逐個執行命令或創建bat文件並執行它。 記住你的目錄。 最好的選擇是:
cd C:\
mkdir ComposerSetup
cd ComposerSetup
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { 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.bat並將其粘貼到其中並保存:
@php C:\ComposerSetup\composer.phar %*
現在添加C:\\ ComposerSetup作為Path環境變量。 關閉促銷。 打開一個新的命令提示符並鍵入composer --v。 基本上,您現在正在提示中運行composer.bat文件。
如果要將composer.phar和composer.bat文件保存在其他位置,沒關系,只需正確更改目錄位置即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.