我已经遇到了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