Actualizar O Compositor Laravel
um programador enviou-me o seu projecto para trabalhar, mas quando tento actualizar ou instalar os meus fornecedores, Tudo funciona bem até ao fim e ele emite a mensagem a seguir.
C:\xampp\htdocs\BigWaveMedia\davinkit>php artisan migrate
{"error":{"type":"Exception","message":"expected color value: failed at ` .cle
arfix;` C:\\xampp\\htdocs\\BigWaveMedia\\davinkit\\app\\start\/..\/..\/public\/l
ess\/style.less on line 102","file":"C:\\xampp\\htdocs\\davinkit\\
vendor\\leafo\\lessphp\\lessc.inc.php","line":3258}}
C:\xampp\htdocs\BigWaveMedia\davinkit>
Alguma ideia? Aqui está um diário completo http://pastebin.com/y9q4Rc5z
2 answers
Quando corres composer update
, composer
gera um ficheiro chamado composer.lock
que lista todos os seus pacotes e as versões instaladas de momento. Isto permite-lhe executar mais tarde composer install
, que irá instalar os pacotes listados nesse ficheiro, recriando o ambiente que usou pela última vez.
Parece no seu registo que algumas das versões dos pacotes que estão listados no seu ficheiro composer.lock
já não estão disponíveis. Assim, quando você corre composer install
, ele se queixa e falha. Isto normalmente não é grande coisa. - basta executar {[[0]} e ele vai tentar construir um conjunto de pacotes que funcionam juntos e escrever um novo arquivo composer.lock
.
composer.json
, o programador original adicionou algumas acções pré - ou pós - actualização que estão a falhar, especificamente um comando php artisan migrate
. Isto pode ser evitado executando o seguinte: composer update --no-scripts
Isto irá executar a actualização do compositor, mas irá ignorar os programas adicionados ao ficheiro. Você deve ser capaz para executar com sucesso a atualização desta forma.
No entanto, isto não resolve o problema a longo prazo. Há dois problemas:Uma migração é para mudanças de banco de dados, não Coisas aleatórias como compilar ativos. Passa pelas migrações e remove o código de lá.
Os activos não devem ser compilados de cada vez que executar
composer update
. Remover esse passo do ficheirocomposer.json
.
O seguinte funciona para mim:
composer update --no-scripts