一、The "extra.asset-installer-paths" option is deprecated, use the "config.fxp-asset.installer-paths" option
产生错误的原因:
“extra.asset-installer-paths” 选项被废弃,建议使用config.fxp-asset.installer-paths;
解决办法:
1,安装管理bower和npm的全局插件:
composer global require “fxp / composer-asset-plugin:1.2.2”
2,修改配置:
将:
“extra”:{
“asset-installer-paths”:{
“npm-asset-library”:“vendor / npm”,
“bower-asset-library”:“vendor / bower”
}
},
改成:
"config": {
"fxp-asset": {
"installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
},
"process-timeout": 1800
},
”extra“:{
},
二、对于Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them. 报错处理
出现改错的原因:主要是你修改了composer.json文件,如果你增加或更新了细节信息,比如库的描述、作者、更多参数,甚至仅仅增加了一个空格,都会改变文件的md5sum。然后Composer就会警告你哈希值和composer.lock
中记载的不同。
解决办法:如果使用update
命令可以更新lock文件,但是如果仅仅增加了一些描述,应该是不打算更新任何库。这种情况下,只需update nothing
这样一来,Composer不会更新库,但是会更新composer.lock
。注意nothing
并不是update
命令的关键字。只是没有nothing
这个包导致的结果。如果你输入foobar
,结果也一样。
如果你用的Composer版本足够新,那么你可以直接使用--lock
选项:
三、不编辑composer.json
的情况下安装库
你可能会觉得每安装一个库都需要修改composer.json
太麻烦,那么你可以直接使用require
命令。
composer require "foo/bar:1.0.0"
这个方法也可以用来快速地新开一个项目。init
命令有--require
选项,可以自动编写composer.json
:(注意我们使用-n
,这样就不用回答问题)
$ composer init --require=foo/bar:1.0.0 -n
$ cat composer.json
{
"require": {
"foo/bar": "1.0.0"
}
}
四、设置镜像:
1、全局添加:composer config -g repo.packagist composer https://packagist.phpcomposer.com
局部添加:composer config repo.packagist composer https://packagist.phpcomposer.com 或
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } },
参考链接:https://www.phpcomposer.com/5-features-to-know-about-composer-php/