composer.lock文件的作用

在使用composer后目录中会出现2个文件,composer.lockcomposer.json,现在来说说这两个文件的作用。
1、composer.json
composer.json文件中保存的是我们安装的组件及组件的版本要求。
2、comopser.lock
composer.lock文件中保存的是组件及其依赖的具体版本,在多人协同开发的情况下,这个文件能很好的解决组件不同而产生的问题。在使用composer install的时候是不会修改composer.lock这个文件,所以会把这个文件也放入版本管理中,其它人在使用时只需要composer install就可以了。而使用composer update后修改这个文件。

综上所述:
composer.lock这个文件主要是解决在协同开发中组件及其依赖的版本记录,防止不同人使用的组件及依赖版本不同。

 

注意:

composer 安装依赖的时候需要调用环境变量中的 php.exe,所以当前最好仅有一个php.exe再环境变量中。

问:对于composer如何切换调用php的版本

答:直接修改环境变量中php的指向即可,可以使用cmd打印php -v 的版本

 

 

laravel Please provide a valid cache path

这是因为laravel的缓存路径没有找到

laravel缓存文件路径是在 config/cache.php中设置,默认存在storage文件夹中

'file' => [
        'driver' => 'file',
        'path' => storage_path('framework/cache/data'),
    ], 

解决:

需要保证storage/framework下面创建 sessions, views, cache 文件夹并确保可写权限

 

 

composer 只更新自动加载而不去更新依赖

composer.json 中添加了psr-4自动加载
然后执行composer update 才能加载那个添加的目录
执行update的时候总是会更新依赖包

如何才能做到 只更新自动加载而不去更新依赖

--补充--

对于在项目根目录下由开发者自定义的命名空间、类和文件,需要在新增后手动运行 composer dump-auto 命令将其更新到 vendor/composer 目录下相应的自动加载配置中,否则系统将无法找到对应的类和文件。

 

composer dump-autoload

 

 

composer dumpautoload -o

 

 

posted @ 2019-06-28 16:09  jiangxiaobo  阅读(3100)  评论(0编辑  收藏  举报