Laravel 的 composer.lock 文件未在 docker/ docker-compose 上更新
Laravel's the composer.lock file is not updated on docker/ docker-compose
我正在做一个 Laravel 项目。我正在使用 docker-compose/ docker 作为我的开发环境。
这是我的 docker-compose.yml 文件。
version: '3'
services:
apache:
container_name: myaneat_apache
image: webdevops/apache:ubuntu-16.04
environment:
WEB_DOCUMENT_ROOT: /var/www/public
WEB_ALIAS_DOMAIN: myan.localhost
WEB_PHP_SOCKET: php-fpm:9000
volumes: # Only shared dirs to apache (to be served)
- ./public:/var/www/public:cached
- ./storage:/var/www/storage:cached
networks:
- myaneat-network
ports:
- "80:80"
- "443:443"
php-fpm:
container_name: myaneat_php
image: jguyomard/laravel-php:7.3
volumes:
- ./:/var/www/
- ./ci:/var/www/ci:cached
- ./vendor:/var/www/vendor:delegated
- ./storage:/var/www/storage:delegated
- ./node_modules:/var/www/node_modules:cached
- ~/.ssh:/root/.ssh:cached
- ./composer.json:/var/www/composer.json
- ./composer.json:/var/www/composer.lock
- ~/.composer/cache:/root/.composer/cache:delegated
networks:
- myaneat-network
db:
container_name: myaneat_db
image: mariadb:10.2
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: myan
MYSQL_USER: myan
MYSQL_PASSWORD: secret
volumes:
- myaneat-data:/var/lib/mysql
networks:
- myaneat-network
ports:
- "33060:3306"
elasticsearch:
container_name: myaneat_es
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
restart: always
volumes:
- es-data:/usr/share/elasticsearch/data
networks:
- myaneat-network
ports:
- "9200:9200"
kibana:
image: docker.elastic.co/kibana/kibana:6.5.1
container_name: myaneat_kibana
environment:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml
ports:
- "5601:5601"
networks:
- myaneat-network
networks:
myaneat-network:
driver: "bridge"
volumes:
myaneat-data:
driver: "local"
es-data:
driver: "local"
我正在安装一个新包 运行 以下命令。
docker-compose exec php-fpm composer require calebporzio/sushi
但是只有 composer.json 更新了,composer.lock 没有更新。此外,该包也不会下载到 vendor 文件夹中。我之前在工作。突然间,发生了这种情况。
我尝试了以下方法。
docker-compose exec php-fpm composer clearcache
docker-compose exec php-fpm composer clear-cache
docker-compose exec php-fpm composer dump-autoload
docker-compose exec php-fpm composer update --lock
可能的根本原因是什么?我该如何解决?
您可以尝试 运行 针对锁的更新:
docker-compose exec php-fpm composer update --lock
此标志已记录 here
关于.lock
文件的更新,你可能会找到相关信息here,你对最后一条感兴趣。
Running composer update will:
Check composer.json
Determine the latest versions to install based on your version specs
Install the latest versions
Update composer.lock to reflect the latest versions installed
我正在做一个 Laravel 项目。我正在使用 docker-compose/ docker 作为我的开发环境。
这是我的 docker-compose.yml 文件。
version: '3'
services:
apache:
container_name: myaneat_apache
image: webdevops/apache:ubuntu-16.04
environment:
WEB_DOCUMENT_ROOT: /var/www/public
WEB_ALIAS_DOMAIN: myan.localhost
WEB_PHP_SOCKET: php-fpm:9000
volumes: # Only shared dirs to apache (to be served)
- ./public:/var/www/public:cached
- ./storage:/var/www/storage:cached
networks:
- myaneat-network
ports:
- "80:80"
- "443:443"
php-fpm:
container_name: myaneat_php
image: jguyomard/laravel-php:7.3
volumes:
- ./:/var/www/
- ./ci:/var/www/ci:cached
- ./vendor:/var/www/vendor:delegated
- ./storage:/var/www/storage:delegated
- ./node_modules:/var/www/node_modules:cached
- ~/.ssh:/root/.ssh:cached
- ./composer.json:/var/www/composer.json
- ./composer.json:/var/www/composer.lock
- ~/.composer/cache:/root/.composer/cache:delegated
networks:
- myaneat-network
db:
container_name: myaneat_db
image: mariadb:10.2
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: myan
MYSQL_USER: myan
MYSQL_PASSWORD: secret
volumes:
- myaneat-data:/var/lib/mysql
networks:
- myaneat-network
ports:
- "33060:3306"
elasticsearch:
container_name: myaneat_es
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
restart: always
volumes:
- es-data:/usr/share/elasticsearch/data
networks:
- myaneat-network
ports:
- "9200:9200"
kibana:
image: docker.elastic.co/kibana/kibana:6.5.1
container_name: myaneat_kibana
environment:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml
ports:
- "5601:5601"
networks:
- myaneat-network
networks:
myaneat-network:
driver: "bridge"
volumes:
myaneat-data:
driver: "local"
es-data:
driver: "local"
我正在安装一个新包 运行 以下命令。
docker-compose exec php-fpm composer require calebporzio/sushi
但是只有 composer.json 更新了,composer.lock 没有更新。此外,该包也不会下载到 vendor 文件夹中。我之前在工作。突然间,发生了这种情况。
我尝试了以下方法。
docker-compose exec php-fpm composer clearcache
docker-compose exec php-fpm composer clear-cache
docker-compose exec php-fpm composer dump-autoload
docker-compose exec php-fpm composer update --lock
可能的根本原因是什么?我该如何解决?
您可以尝试 运行 针对锁的更新:
docker-compose exec php-fpm composer update --lock
此标志已记录 here
关于.lock
文件的更新,你可能会找到相关信息here,你对最后一条感兴趣。
Running composer update will:
Check composer.json
Determine the latest versions to install based on your version specs
Install the latest versions
Update composer.lock to reflect the latest versions installed