我已經遇到了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
。我甚至無法得到這個全新的安裝工作。所以我更新了我的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回購)。
但是,任何幫助都將不勝感激,因爲我確實需要使用這些軟件包,並且我知道如果我再次嘗試更新,將來會遇到問題。
編輯:而且注意到,我見過的各種問題的一個常見答案是刪除bootstrap/compiled.php。那麼,不管我從來沒有見過這個文件生成過,更不用說能夠刪除它了。
我甚至嘗試手動運行artisan命令(返回一個空白結果),並從未生成文件。
正在運行'''作曲者更新 - 無腳本'''爲我解決了它。我有一個軟件包正在運行一個工匠腳本,如果我刪除了這個軟件包,那麼這個腳本就會失敗 – dannio