2013-12-17 3 views
3

Я столкнулся со сто проблемами с laravel. Недавно я обновил веб-сайт laravel 3 до laravel 4, и я сохранил весь свой проект в хранилище Github. Поскольку у меня постоянно возникают проблемы с неправильным редактированием файлов из неправильной папки, я просто создал локальный репозиторий git в своем рабочем каталоге, поэтому у меня есть только один каталог, с которым нужно иметь дело.Почему мастерство не работает над обновлением композитора и не возвращает никаких сообщений об ошибках?

Все работало нормально, пока я не попытался установить некоторые пакеты laravel, которые я смог установить раньше. Всякий раз, когда я запускаю обновление для композитора, все мои скрипты мастера возвращают ошибку. Само сообщение об ошибке (предположительно ошибка PHP) не отображается, даже после того, как я убедился, что я использую файл PHP.ini разработки.

fatal: No names found, cannot describe anything. 
* master [KEY REMOVED] Remove mPDF Library 
Script php artisan clear-compiled handling the pre-update-cmd event returned with an error 

Status for device CON: 
---------------------- 
    Lines:   300 
    Columns:  80 
    Keyboard rate: 31 
    Keyboard delay: 1 
    Code page:  437 

Status for device CON: 
---------------------- 
    Lines:   300 
    Columns:  80 
    Keyboard rate: 31 
    Keyboard delay: 1 
    Code page:  437 

    [RuntimeException] 
    Error Output:  

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN] 

Вот мой composer.json (один предложение, которое я прочитал, было положить "PHP ремесленник ясно скомпилированные" в "пре-обновление-CMD"):

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "require": { 
     "laravel/framework": "4.1.*" 
    }, 
    "autoload": { 
     "classmap": [ 
      "app/commands", 
      "app/controllers", 
      "app/models", 
      "app/database/migrations", 
      "app/database/seeds", 
      "app/tests/TestCase.php" 
     ] 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "php artisan optimize" 
     ], 
     "pre-update-cmd": [ 
      "php artisan clear-compiled" 
     ], 
     "post-update-cmd": [ 
      "php artisan optimize" 
     ], 
     "post-create-project-cmd": [ 
      "php artisan key:generate" 
     ] 
    }, 
    "config": { 
     "preferred-install": "dist" 
    }, 
    "minimum-stability": "dev", 
    "require": { 
     "laravelbook/ardent" : "dev-master", 
     "loic-sharma/profiler" : "dev-master", 
     "prologue/alerts"  : "dev-master", 
     "mpdf/mpdf"   : "dev-master" 
    } 
} 

Еще одна странная вещь, которую я заметил, это:

fatal: No names found, cannot describe anything. 
* master [KEY REMOVED] Remove mPDF Library 

Это ссылка на последнюю фиксацию в моем репозитории git. Почему это упоминается? Я думал, что это может быть частью проблемы, пока я не понял, что это испортилось даже при новой установке.

Да, я попытался удалить скрипты или запустить --no-scripts. Я думаю, что это, где начинаются мои проблемы, хотя, потому что даже когда я запустить --no-скрипты, которые я получаю следующее сообщение об ошибке:

Fatal error: Class 'Patchwork\Utf8\Bootup' not found in [ROOT PATH REMOVED]/bootstrap/autoload.php on line 46 

Я читал, что некоторые файлы могут быть не хватает, как я был повышен до 4,1 , Поэтому я заполнил все недостающие файлы, и я получил пустую белую страницу.

Основываясь на том, что я читаю, новая установка laravel должна иметь возможность запускать ремесленника или, по крайней мере, после запуска composer install. Я даже не могу заставить это работать над BRAND NEW INSTALL. Поэтому я обновил мою установку xampp до последней версии.

my version of xampp

Я также читал, что есть способ, чтобы проверить, если Mcrypt был установлен: php -i | grep "mcrypt support" Он заявил, что, если ничего не было возвращено Mcrypt не был установлен, но он определенно вернулся что-то.

mcrypt 

mcrypt support => enabled 
mcrypt support => enabledmcrypt_filter support => 
enabled 
Version => 2.5.8 
Api No => 20021217 
Supported ciphers => cast-128 gost rijndael-128 twofish cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes arcfour 
Supported modes => cbc cfb ctr ecb ncfb nofb ofb stream 

Directive => Local Value => Master Value 
mcrypt.algorithms_dir => no value => no value 
mcrypt.modes_dir => no value => no value 

обновление композитор не возвращает ошибку, ремесленник не работает, она не работает, когда я использую --no-скрипты и до сих пор не компилируется после того, как я использовал --no-скрипты ... PHP не возвращает никаких ошибок и не регистрирует никаких ошибок. Я не знаю, что еще делать. Я пробовал все, что мог придумать, и все, что я мог найти в Интернете. Все, чего я хотел, - это установить простой пакет, не запуская этого огромного беспорядка.

Я не решаюсь продолжить работу над этим проектом, пока я не разрешу эту проблему, но мне нужно вернуться к работе над ней, используя мою все еще рабочую версию laravel (к счастью, у меня были резервные копии файлов/vendor; они не были добавлены к моему github-репо).

Но любая помощь по этому поводу была бы очень признательна, потому что мне действительно нужно использовать эти пакеты, и я знаю, что у меня будут проблемы в будущем, если я попробую обновить снова.

EDIT: И обратите внимание, что один общий ответ, который я видел по целому ряду вопросов, - это удалить bootstrap/compiled.php.Ну, независимо от того, что я даже не видел, созданный файл, не говоря уже о возможности его удалить.

Я даже попытался вручную запустить команды artisan (который возвратил пустой результат), и файл не был сгенерирован.

ответ

6

Получение ответа на это практически невозможно. После обширного тестирования я все еще не был ближе к ответу. Я даже не знаю, является ли это правильным ответом, но я НАКОНЕЦ получил правильную работу. Вот что я сделал.

Для начала, я установил новую копию Laravel (4.1) с помощью композитора:

composer create-project laravel/laravel --prefer-dist 

Используя этот композитор файл (в основном такой же, как и выше, без упаковки требуется):

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "require": { 
     "laravel/framework": "4.1.*" 
    }, 
    "autoload": { 
     "classmap": [ 
      "app/commands", 
      "app/controllers", 
      "app/models", 
      "app/database/migrations", 
      "app/database/seeds", 
      "app/tests/TestCase.php" 
     ] 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "php artisan optimize" 
     ], 
     "pre-update-cmd": [ 
      "php artisan clear-compiled" 
     ], 
     "post-update-cmd": [ 
      "php artisan optimize" 
     ], 
     "post-create-project-cmd": [ 
      "php artisan key:generate" 
     ] 
    }, 
    "config": { 
     "preferred-install": "dist" 
    }, 
    "minimum-stability": "dev" 
} 

И работает:

composer update --no-scripts 

Далее следуют:

composer update 

Это уже не было ошибкой при загрузке.

К сожалению, я не могу заставить ЛЮБЫЕ пакеты работать вообще. Я думаю, что это ошибка в последней версии Laravel, и ее ОЧЕНЬ раздражает. Я очень сомневаюсь, что буквально каждый пакет прервала 4.1, хотя его возможно, что это проблема: http://forums.laravel.io/viewtopic.php?pid=55313#p55313

Другая возможность, тоже запустить композитор установить первый:

composer install --no-scripts 

«--no- скрипты "является необязательным, если он не устанавливается нормально - не нужны скрипты. В какой-то момент я удалил папку своего поставщика и выполнил установку композитора, но я не мог понять это независимо.

В любом случае я не могу использовать библиотеки, которые я добавил в папку приложений/библиотек (которые, как я заметил, не существует по умолчанию), и я не могу использовать какие-либо комплекты композиторов на этом этапе. Я действительно не уверен, как я могу заставить мои PDF-скрипты работать прямо сейчас ... или, по крайней мере, до тех пор, пока Laravel не устранит эти проблемы.

+0

работает '' 'обновление композитора --no-scripts''' решил это для меня. Один из пакетов, которые у меня были, был запущен скрипт artisan, который был неудачным, если я удалил этот пакет – dannio

Смежные вопросы