22
2022
07

composer安装

Windows环境phpstudy安装composer

  • G:\phpstudy_pro\Extensions\composer1.8.5 加入到环境变量

  • php运行目录加入path变量

  • 把 G:\phpstudy_pro\Extensions\composer1.8.5目录 下的composer.phar 文件复制到php安装目录下

  • 在php安装目录下新建 composer.bat 文件,并写入内容:@php "%~dp0composer.phar" %*


Linux下全局安装composer方法

1、下载composer
curl -sS https://getcomposer.org/installer | php
2、将composer.phar文件移动到bin目录以便全局使用composer命令
mv composer.phar /usr/local/bin/composer
3、切换国内源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
 4、输入composer验证:
0
安装成功!
报错  Do not run Composer as root/super user! See https://getcomposer.org/root for details
linux下composer小记:Do not run Composer as root/super user!
publish:November 26, 2018 -Mondayby 04007 本站原创文章,转载请注明文章出处:www.04007.cn
    之前在测试一段PHP程序时,总是报找不到PHP类文件,当前因为需要着急解决问题,就把文件直接引入从而解决了问题,今天看了一下,因为文件里面加载了vendor,而vendor目录下面在autoload_real.php引入的其它文件autoload_classmap.php,autoload_namespaces.php,autoload_psr4.php这些文件里都有绝对路径(因为是composer生成的),导致的加载不上。于是要解决就必须重新composer,以更新路径。centos下安装composer,注(我这里也对比发现了程序里用的是老一代的vendor,新一代的vendor都的路径$vendorDir和$baseDir都是通过绝对目录得来的,这样路径变更就不会同时涉及修改几个文件内容)。
[root@123 download]# curl -sS https://getcomposer.org/installer | phpAll settings correct for using ComposerDownloading...Composer (version 1.7.3) successfully installed to: /opt/download/composer.pharUse it: php composer.phar[root@123 download]# mv composer.phar /usr/local/bin/composer[root@123 download]# composer -VDo not run Composer as root/super user! See https://getcomposer.org/root for detailsComposer version 1.7.3 2018-11-01 10:05:06
    从上面可以看到,安装很简单,基本就是下载一个文件,然后执行命令就看到结果了。但有一个提示:Do not run Composer as root/super user! See https://getcomposer.org/root for details,意思是不要在root超级用户下执行,所以就更换一个用户吧,如下,就不会报这个提示了:
[root@123 download]# useradd kermit[root@123 download]# passwd kermitChanging password for user kermit.New password: BAD PASSWORD: it is too simplistic/systematic BAD PASSWORD: is too simpleRetype new password: passwd: all authentication tokens updated successfully.[root@123 download]# su kermit[kermit@123 download]$ [kermit@123 download]$ composer -VComposer version 1.7.3 2018-11-01 10:05:06#进入目录招待composer install安装即可[root@123 queue]# composer installDo not run Composer as root/super user! See https://getcomposer.org/root for detailsLoading composer repositories with package informationUpdating dependencies (including require-dev)Package operations: 0 installs, 1 update, 0 removals  - Updating phpmailer/phpmailer dev-master (3ea8425 => 028acee):     The package has modified files:    M docs/generatedocs.sh    M language/phpmailer.lang-am.php    M test/fakepopserver.sh    M test/fakesendmail.sh    M test/runfakepopserver.sh.....    Discard changes [y,n,v,d,s,?]? y Checking out 028aceea3dWriting lock fileGenerating autoload file#然后看一下composer下的主要涉及路径的文件已经更新:[root@123 queue]# ll vendor/composertotal 44-rw-r--r-- 1 root root   147 Nov 26 10:32 autoload_classmap.php-rw-r--r-- 1 root root   222 Nov 26 10:32 autoload_namespaces.php-rw-r--r-- 1 root root   280 Nov 26 10:32 autoload_psr4.php-rw-r--r-- 1 root root  1762 Nov 26 10:32 autoload_real.php-rw-r--r-- 1 root root  1480 Nov 26 10:32 autoload_static.php-rw-r--r-- 1 root root 13459 Nov 26 10:32 ClassLoader.php-rw-r--r-- 1 root root  3750 Nov 26 10:32 installed.json-rw-r--r-- 1 root root  1070 Nov 26 10:32 LICENSE
    composer下的主要涉及路径的文件已经更新,再执行代码就能正常加载类文件了。上述中Discard changes [y,n,v,d,s,?]? 表示是否放弃已经做过的一些修改,这里要注意,如果你composer里的代码有些重要的地方经过了自己修改处理,这里就需要填写N了,我这里没有什么重要的东西,估计也就是查看代码时不小心导致了一些文件的小变更,所以就放弃更改。
对于我这里碰到的问题,可能还有一个更好的解决办法,这是一开始我没有想到的,composer有一个config命令,这个可以配置很多选项,其中有涉及目录的两项,[vendor-dir]和[bin-dir],把这两个目录进行更改后,composer里的所有和目录有关的代码应该就会自动更改,当然这个我也没有尝试。应该是可以的。
本文地址:http://www.04007.cn/article/575.html 未经许可,不得转载. 手机访问本页请扫描下方二维码:
0


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。