モデルを作成しようとすると 'rails generate' コマンドがハングする
質問
私はrailsの初心者で、今朝、私の全体のデータベース設計/モデルを破棄し、やり直すことにしました。そして、noobである私は、それが間違っていたことを確信しています。
にあるすべてのファイルを削除しました。
db/migrate/
にあるすべてのファイルを削除し、テーブルを削除しました。そして、最初の新しいモデルクラスを生成しようとしたとき、railsはただハングしました。私が ^C を押して他のことを試すまで、10 分間雑草の中にいたのです。
今度は、再びテーブルを削除し、プロジェクト全体をproject.badに移動し、rails newを実行してやり直しました。再び、古い名前で新しいプロジェクトを生成した後、それは
rails generate
コマンドでハングしました (私は同じプロジェクト名を使用していました)。
絶望的になって、同じルートで別の名前で新しいプロジェクトを作成しようとしました。Eureka! しかし、元のプロジェクトまたは新しく作成したプロジェクトで、元のプロジェクト名を使用して何かを生成することが完全にできません。何が足りないのでしょうか?私はこの時点で完全な損失を気にしませんが、元のプロジェクト名を再び使用できるようにしたいのです!
log/development.log はこのような感じです。
(255.5ms) CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB
(337.7ms) CREATE UNIQUE INDEX `unique_schema_migrations` ON `schema_migrations` (`version`)
ActiveRecord::SchemaMigration Load (0.2ms) SELECT `schema_migrations`.* FROM `schema_migrations`
(0.2ms) SELECT `schema_migrations`.`version` FROM `schema_migrations`
最後のSELECTの後に何が起こるかわかるか?
どのように解決するのですか?
もし、あなたの
rails generate
コマンドがハングアップする場合、rails の生成された binstub が問題である可能性が高いです。あなたが言及したように、プロジェクトの名前を変更しました。
私の推測では、binstubs のいくつかのパスはまだ古いプロジェクトディレクトリに設定されていましたが、もはや存在しませんでした。
binstub がどのように機能するかについての素晴らしい記事がここにあります。 https://github.com/sstephenson/rbenv/wiki/Understanding-binstubs
レール 4
binstubをリセットするには、単にあなたの
bin/
ディレクトリを削除して実行します。
# generates binstubs for ALL gems in the bundle
bundle install --binstubs
# ...OR, generate binstubs for a SINGLE gem (recommended)
bundle binstubs rake
レイル5/レイル6
binstubをリセットするには、単にあなたの
bin/
ディレクトリを削除して実行します。
rake app:update:bin
rails 5以降では、なぜ'rails'コマンドそのものではなく、'rake'コマンドを使用する必要があるのでしょうか?
rails 5 以降、いくつかの 'rake' コマンドは 'rails' コマンドの中にカプセル化されています。しかし、'bin/' ディレクトリを削除すると、'rails' コマンド自体も削除されるため、'rails' はもはや利用できませんが 'rake' はまだ存在しているので、リセットのために 'rake' に戻る必要があります。
関連
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] Rails のインストールに失敗する: activesupport には Ruby のバージョン >= 2.2.2 が必要です。
-
[解決済み] rspec 3 - クラスメソッドをスタブ化する
-
[解決済み] Errno::EACCESS: パーミッションが拒否された @ dir_s_mkdir
-
[解決済み] Rails / Haml: 投稿フォームを作成するには?
-
[解決済み] Railsでグループとカウント
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み】強いパラメータを持つ配列を許可する方法
-
[解決済み】Rails: モデルがすでに存在するときに`rails generate scaffold`を実行するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PG::ConnectionBad: fe_sendauth: パスワードが供給されない
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜでしょうか?
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] Ruby on Railsのランナー
-
[解決済み] AWS S3です。アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレスされている必要があります。
-
[解決済み] Rails ExecJS::ProgramError in Pages#home?
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] 構文エラー "構文エラー、予期しない入力終了、keyword_endを期待 (SyntaxError)"
-
[解決済み] ActionController::RoutingError: 初期化されていない定数MicropostsController
-
[解決済み] 属性とカラムの違いは何ですか?