web-dev-qa-db-ja.com

laravelでの移行の作成エラー:「ストリームを開くことができませんでした」

最初の移行を作成しましたcreate_users_migrationコマンドを使用:

php artisan make:migration create_users_table

後でエラーが発生したことに気付いたため、移行ファイルを削除し、上記の同じコマンドで別の移行ファイルを作成することにしました。しかし、この例外をスローし続けます:

[エラー例外]
include(/ home/awa/Desktop/intern/train2/vendor/composer /../../ database/migr
ations/2014_10_12_000000_create_users_table.php):ストリームを開けませんでした:いいえ
そのようなファイルまたはディレクトリ

私は何を間違えていますか?

29
Awa Melvine

私は定期的にこのエラーを受け取ります。ここに役立ついくつかのことがあります:

php artisan cache:clear

またはbootstrap=ディレクトリでキャッシュを手動で削除します(ルートキャッシュとサービスキャッシュを担当します。

また、これらの方法が役立ちます:

composer dump-autoload -o
composer update

Composer dump-autoloadは、プロジェクト(autoload_classmap.php)に含める必要があるすべてのクラスのリストを再生成します。

-o/--optimizeオプションは、PSR-4/PSR-0ルールをクラスマップルールに変換します。その結果、オートローダーはファイルシステムにアクセスする必要がなく、より高速に実行されます。 Laravel= autoloaderはこの最適化(キャッシュ)を使用するため、問題の原因です。

また、移行をロールバックすると、問題が数回解決されました(移行が成功した場合)。

php artisan migrate:rollback
70
Aleksei Maide

私はこのエラーを受け取り、コミュニティで解決策を見つけました:

pHPアーティザンキャッシュ:クリア

これはキャッシュされたファイルを削除します

composer dump-autoload

composer dump-autoloadは、プロジェクトagian用に最適化された自動ロードファイルを再生成します

php artisan migrate:refresh

次に、データベースの新しい新しい移行を作成します

php artisan make:migration create_users_table --create = users

最後に、新しい移行ファイルの作成を始めましょう

14
Ro Vinei

その後、composer dump-autoloadを実行する必要がある場合があります

7
Aleksey Boyko

私は同じエラーを受け取っていました、上記の解決策を試してみました-私にはうまくいきませんでした。最後に、次のコマンドを使用して、削除した移行ファイルを再作成しました。

php artisan make:migration create_my_table

そして、私は次のコマンドを実行しました-今では動作しています

php artisan migrate:refresh
1
Sunil Sharma

とてもシンプルで、うまく機能します。ただ使用する:

composer dump-autoload -o

次に、新しい移行ファイルを作成します

0