创建Laravel migration时生成非预期lodash代码问题求助
问题原因及解决办法
你生成迁移文件时出现的内容是前端工具库Lodash的head方法源码,不属于Laravel迁移的默认内容,问题根源是生成迁移时读取了错误的模板文件,具体可按以下步骤排查修复:
- 检查自定义stub模板
如果你之前执行过php artisan stub:publish发布过自定义生成模板,项目根目录下会生成stubs文件夹,检查文件夹内的migration.create.stub、migration.update.stub、migration.stub等迁移相关模板是否被意外替换成了这段JS代码。如果不需要自定义模板,直接删除整个stubs文件夹,Laravel会自动读取核心包的默认模板。 - 修复Laravel核心默认模板
如果没有发布过自定义stub,说明vendor目录下的Laravel核心自带迁移模板被损坏。直接删除vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs目录,执行composer install重新安装Laravel核心包即可恢复默认模板。 - 排查自定义命令或第三方扩展
如果你安装过和迁移生成相关的第三方扩展,或者自己写过自定义的迁移生成命令,检查对应代码是否存在路径读取错误,误将node_modules下的Lodash文件内容写入了迁移文件。 - 排查前端工具污染
部分前端打包工具、依赖安装脚本配置错误时,可能会意外修改项目内其他目录的文件,可临时移除node_modules目录后重新生成迁移测试,确认是否是前端工具导致的文件异常修改。
内容的提问来源于stack exchange,提问作者Nabeel Siddiqui
相关产品推荐
相关产品推荐

