[英]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.