下载 Laravel 报错 ErrorException : rename (/home/Vagrant/Code/Weibo/Bootstrap/cache/packages.phpvJP2T7,/home/Vagrant/Code/Weibo/Bootstrap/cache/packages.php): Operation not permitted
错误现象如下:
vagrant@homestead:~/Code$ composer create-project laravel/laravel Weibo --prefer-dist "5.7.*"
Installing laravel/laravel (v5.7.28)
- Installing laravel/laravel (v5.7.28): Loading from cache
。。。。。。。。。。。。。此处内容省略
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
ErrorException : rename(/home/vagrant/Code/Weibo/bootstrap/cache/packages.phpvJP2T7,/home/vagrant/Code/Weibo/bootstrap/cache/packages.php): Operation not permitted
at /home/vagrant/Code/Weibo/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:146
142| chmod($tempPath, 0777 - umask());
。。。。。。。。。。。。。此处内容省略
/home/vagrant/Code/Weibo/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php:172
Please use the argument -v to see more details.
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
artisan package:discover --ansi 包自动发现处理开始出现错误
说明:
1) 如果按照教程,项目装在C盘, 没有出现这个问题
2) 我的项目装在了D盘,前面都没有遇到问题,重新下载第2个应用,就出现了这个问题。删除应用,甚至删除盒子重新导入,从头开始,还是有这个问题
3) 看了 该文件Filesystem.php:146,此处调用rename函数
public function replace($path, $content)
{
。。。。
$tempPath = tempnam(dirname($path), basename($path));
chmod($tempPath, 0777 - umask());
file_put_contents($tempPath, $content);
rename($tempPath, $path);
}
没能找出原因,只能知道此调用rename()出现了问题。
4) 虽然出现了这个问题,但框架还是有下载下来,直接浏览器运行会报错:
```
RuntimeException
No application encryption key has been specified.
```
这个问题,直接生成key,就能解决。 既 执行命令:php artisan key:generate
然后再刷新一下,laravel界面就会出现。
PS: 虽然有这个问题,个人觉得对项目不会有影响,故记录完错误后,继续往后面走下去。如果后续出现什么问题,再做记录。
推荐文章: