<Ruby on Rails エラー編> PG::DuplicateTable: ERROR: relation "tweets" already exists
発生したエラー
rails db:migrateを実行すると以下のエラーが発生した。
rails aborted! StandardError: An error has occurred, this and all later migrations canceled: PG::DuplicateTable: ERROR: relation "tweets" already exists /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.3.2/lib/patches/db/pg.rb:110:in `exec' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.3.2/lib/patches/db/pg.rb:110:in `async_exec' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `block (2 levels) in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:46:in `block in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:696:in `block (2 levels) in log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:695:in `block in log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:687:in `log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:45:in `execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:322:in `create_table' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:929:in `block in method_missing' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:897:in `block in say_with_time' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:897:in `say_with_time' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:918:in `method_missing' /Users/user_name/workspace/runteq/PF/kinoko2/db/migrate/20210514015843_create_tweets.rb:3:in `change' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:867:in `exec_migration' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:851:in `block (2 levels) in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:850:in `block in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:849:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1037:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1329:in `block in execute_migration_in_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1380:in `block in ddl_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `block in transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/transaction.rb:310:in `block in within_new_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/transaction.rb:308:in `within_new_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/transactions.rb:209:in `transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1380:in `ddl_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1328:in `execute_migration_in_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1302:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1302:in `migrate_without_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1251:in `block in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1401:in `block in with_advisory_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1416:in `block in with_advisory_lock_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1416:in `with_advisory_lock_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1397:in `with_advisory_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1251:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1086:in `up' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1061:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:237:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:92:in `block (3 levels) in <main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:90:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:90:in `block (2 levels) in <main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `block in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:219:in `block in invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:199:in `invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:188:in `invoke' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:160:in `invoke_task' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block (2 levels) in top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block in top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:125:in `run_with_threads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:110:in `top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:186:in `standard_exception_handling' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block in perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/rake_module.rb:59:in `with_application' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:18:in `perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/command.rb:52:in `invoke' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands.rb:18:in `<main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/bin/rails:5:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `load' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `call' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client.rb:30:in `run' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/bin/spring:49:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `load' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:10:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:10:in `block in <top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:7:in `tap' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:7:in `<top (required)>' Caused by: ActiveRecord::StatementInvalid: PG::DuplicateTable: ERROR: relation "tweets" already exists /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.3.2/lib/patches/db/pg.rb:110:in `exec' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.3.2/lib/patches/db/pg.rb:110:in `async_exec' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `block (2 levels) in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:46:in `block in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:696:in `block (2 levels) in log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:695:in `block in log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:687:in `log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:45:in `execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:322:in `create_table' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:929:in `block in method_missing' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:897:in `block in say_with_time' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:897:in `say_with_time' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:918:in `method_missing' /Users/user_name/workspace/runteq/PF/kinoko2/db/migrate/20210514015843_create_tweets.rb:3:in `change' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:867:in `exec_migration' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:851:in `block (2 levels) in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:850:in `block in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:849:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1037:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1329:in `block in execute_migration_in_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1380:in `block in ddl_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `block in transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/transaction.rb:310:in `block in within_new_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/transaction.rb:308:in `within_new_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/transactions.rb:209:in `transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1380:in `ddl_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1328:in `execute_migration_in_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1302:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1302:in `migrate_without_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1251:in `block in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1401:in `block in with_advisory_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1416:in `block in with_advisory_lock_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1416:in `with_advisory_lock_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1397:in `with_advisory_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1251:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1086:in `up' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1061:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:237:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:92:in `block (3 levels) in <main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:90:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:90:in `block (2 levels) in <main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `block in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:219:in `block in invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:199:in `invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:188:in `invoke' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:160:in `invoke_task' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block (2 levels) in top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block in top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:125:in `run_with_threads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:110:in `top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:186:in `standard_exception_handling' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block in perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/rake_module.rb:59:in `with_application' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:18:in `perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/command.rb:52:in `invoke' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands.rb:18:in `<main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/bin/rails:5:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `load' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `call' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client.rb:30:in `run' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/bin/spring:49:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `load' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:10:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:10:in `block in <top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:7:in `tap' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:7:in `<top (required)>' Caused by: PG::DuplicateTable: ERROR: relation "tweets" already exists /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.3.2/lib/patches/db/pg.rb:110:in `exec' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.3.2/lib/patches/db/pg.rb:110:in `async_exec' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `block (2 levels) in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:46:in `block in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:696:in `block (2 levels) in log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:695:in `block in log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract_adapter.rb:687:in `log' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:45:in `execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:322:in `create_table' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:929:in `block in method_missing' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:897:in `block in say_with_time' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:897:in `say_with_time' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:918:in `method_missing' /Users/user_name/workspace/runteq/PF/kinoko2/db/migrate/20210514015843_create_tweets.rb:3:in `change' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:867:in `exec_migration' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:851:in `block (2 levels) in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:850:in `block in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:849:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1037:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1329:in `block in execute_migration_in_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1380:in `block in ddl_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `block in transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/transaction.rb:310:in `block in within_new_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/transaction.rb:308:in `within_new_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/transactions.rb:209:in `transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1380:in `ddl_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1328:in `execute_migration_in_transaction' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1302:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1302:in `migrate_without_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1251:in `block in migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1401:in `block in with_advisory_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1416:in `block in with_advisory_lock_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1416:in `with_advisory_lock_connection' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1397:in `with_advisory_lock' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1251:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1086:in `up' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/migration.rb:1061:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:237:in `migrate' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:92:in `block (3 levels) in <main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:90:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:90:in `block (2 levels) in <main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `block in execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `execute' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:219:in `block in invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:199:in `invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:188:in `invoke' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:160:in `invoke_task' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block (2 levels) in top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `each' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block in top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:125:in `run_with_threads' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:110:in `top_level' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:186:in `standard_exception_handling' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block in perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/rake_module.rb:59:in `with_application' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:18:in `perform' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/command.rb:52:in `invoke' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands.rb:18:in `<main>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/bin/rails:5:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `load' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `call' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client.rb:30:in `run' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/bin/spring:49:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `load' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `<top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:10:in `require' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:10:in `block in <top (required)>' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:7:in `tap' /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:7:in `<top (required)>' Tasks: TOP => db:migrate (See full trace by running task with --trace)
対処法
PG::DuplicateTable: ERROR: relation "tweets" already existsという記載から、tweetsというテーブルが既に存在していることがわかる。
原因はデータベースにテーブルが消したテーブルが残っていたのが原因。
$ rails db:migrate:reset Dropped database 'kinoko2_test' Created database 'kinoko2_development' Created database 'kinoko2_test' == 20210514015843 CreateTweets: migrating ===================================== -- create_table(:tweets) -> 0.0352s == 20210514015843 CreateTweets: migrated (0.0353s) ============================
を実行することでデータベースをdropされ、新たにテーブルがcreateされる。
これによりDBがリセットされて、rails db:migrateすることでエラーが解消される。
参考文献
<VSC> ショートカットキーについて
ショートカットキーの一覧を開く
⌘ + k + s
よく使う
ターミナル->エディタへ移動
⌘ + 1 (規定)
エディタ->ターミナルへ移動
⌘ + y (ユーザー設定)
指定ファイルを開く
⌘ + p (規定)
現在開いているファイルを上書き保存
⌘ + s (規定)
現在開いているファイルを閉じる
⌘ + w (規定)
※ファイルが開いてない場合はVSCを閉じる
ファイルを移動
右:⌘ + shift + ] (規定)
左:⌘ + shift + [ (規定)
パネルを閉じる
⌘ + j (規定)
参考文献
<Ruby on Rails エラー編> mimemagicのbundle installエラーについて
エラーについて
mimemagicがbundle installできなくなった。
2021年3月下旬、twitterなどで大騒ぎになった。
大元が誤ったライセンスのもと配布していたようで、MITで配布していたが、実際はmimemagicの中のファイルがshared-mime-infoに依存しているためライセンスはGPLということになって修正が入り、ActiveRecordがmimemagicに依存していたため、buildができない大混乱が生じた、ということらしい?
数日後該当のファイルを削除してMITに戻ったらしいが、その代わりGPLのshared-mime-infoのインストールを自分で行わないといけなくなったということらしい。
Rails 5.2.5, 6.0.3.6, 6.1.3.1に関してはmimemagicの依存がなくなったとのことで、問題はなくなったよう。
対処法
Rails 5.2.5以前のものはmimemagicが依存しているため、別途shared-mime-infoをインストールする必要がある。
$ brew install shared-mime-info
参考文献
Rails waves goodbye to mimemagic, welcomes Marcel to fix GPL MIME drama • The Register
<Ruby on Rails エラー編> rails consoleが起動できない
発生したエラー
rails consoleを実行すると、以下のエラーが発生した。
Traceback (most recent call last): 17: from bin/rails:2:in `<main>' 16: from bin/rails:2:in `load' 15: from /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:7:in `<top (required)>' 14: from /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:7:in `tap' 13: from /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:10:in `block in <top (required)>' 12: from /Users/user_name/workspace/runteq/PF/kinoko2/bin/spring:10:in `require' 11: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `<top (required)>' 10: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `load' 9: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/bin/spring:49:in `<top (required)>' 8: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client.rb:30:in `run' 7: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call' 6: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:24:in `call' 5: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call' 4: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/run.rb:35:in `call' 3: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/run.rb:42:in `warm_run' 2: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/run.rb:62:in `run' 1: from /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/run.rb:117:in `verify_server_version' /Users/user_name/workspace/runteq/PF/kinoko2/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/run.rb:117:in `gets': Interrupt
対処
デフォルトでセットされているSpringは、アプリケーションをバックグラウンドで動作させることで、開発を高速化するgem。
見たところspringが動いているので、プロセスを確認。
$ ps aux | grep -i spring user_name 5264 0.0 0.0 4387048 2056 ?? S 4:11PM 0:01.33 spring server | kinoko2 | started 11 hours ago user_name 32697 0.0 0.0 4279688 764 s002 S+ 4:50AM 0:00.01 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox -i spring
springをkillする。
$ kill -9 5264
rails consoleを実行したところ、動いた。
参考文献
<Ruby on Rails エラー編> PostgreSQLに接続できなかった時の対処法
エラー詳細
create db:createを実行しようとするとエラーが出た。
could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? Couldn't create 'アプリ名_development' database. Please check your configuration. rails aborted! ActiveRecord::ConnectionNotEstablished: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql_adapter.rb:83:in `rescue in new_client' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql_adapter.rb:77:in `new_client' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `postgresql_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `public_send' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `new_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:926:in `checkout_new_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:905:in `try_to_checkout_new_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:866:in `acquire_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:588:in `checkout' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:428:in `connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:1128:in `retrieve_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_handling.rb:327:in `retrieve_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_handling.rb:283:in `connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/postgresql_database_tasks.rb:12:in `connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/postgresql_database_tasks.rb:26:in `create' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:133:in `create' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:193:in `block in create_current' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:506:in `block (2 levels) in each_current_configuration' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:503:in `each' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:503:in `block in each_current_configuration' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:502:in `each' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:502:in `each_current_configuration' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:193:in `create_current' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:45:in `block (2 levels) in <main>' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `block in execute' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `each' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `execute' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:219:in `block in invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:199:in `invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:188:in `invoke' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:160:in `invoke_task' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block (2 levels) in top_level' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `each' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block in top_level' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:125:in `run_with_threads' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:110:in `top_level' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:186:in `standard_exception_handling' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block in perform' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/rake_module.rb:59:in `with_application' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:18:in `perform' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/command.rb:52:in `invoke' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands.rb:18:in `<main>' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require' /Users/user_name/workspace/runteq/PF/アプリ名/bin/rails:5:in `<top (required)>' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `load' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `call' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client.rb:30:in `run' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/bin/spring:49:in `<top (required)>' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `load' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `<top (required)>' /Users/user_name/workspace/runteq/PF/アプリ名/bin/spring:10:in `block in <top (required)>' /Users/user_name/workspace/runteq/PF/アプリ名/bin/spring:7:in `tap' /Users/user_name/workspace/runteq/PF/アプリ名/bin/spring:7:in `<top (required)>' Caused by: PG::ConnectionBad: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/pg-1.2.3/lib/pg.rb:58:in `initialize' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/pg-1.2.3/lib/pg.rb:58:in `new' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/pg-1.2.3/lib/pg.rb:58:in `connect' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql_adapter.rb:78:in `new_client' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `postgresql_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `public_send' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `new_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:926:in `checkout_new_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:905:in `try_to_checkout_new_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:866:in `acquire_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:588:in `checkout' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:428:in `connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:1128:in `retrieve_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_handling.rb:327:in `retrieve_connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/connection_handling.rb:283:in `connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/postgresql_database_tasks.rb:12:in `connection' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/postgresql_database_tasks.rb:26:in `create' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:133:in `create' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:193:in `block in create_current' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:506:in `block (2 levels) in each_current_configuration' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:503:in `each' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:503:in `block in each_current_configuration' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:502:in `each' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:502:in `each_current_configuration' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/tasks/database_tasks.rb:193:in `create_current' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/activerecord-6.1.3.2/lib/active_record/railties/databases.rake:45:in `block (2 levels) in <main>' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `block in execute' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `each' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:281:in `execute' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:219:in `block in invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:199:in `invoke_with_call_chain' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/task.rb:188:in `invoke' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:160:in `invoke_task' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block (2 levels) in top_level' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `each' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:116:in `block in top_level' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:125:in `run_with_threads' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:110:in `top_level' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/application.rb:186:in `standard_exception_handling' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:24:in `block in perform' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/lib/rake/rake_module.rb:59:in `with_application' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands/rake/rake_command.rb:18:in `perform' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/command.rb:52:in `invoke' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.2/lib/rails/commands.rb:18:in `<main>' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require' /Users/user_name/workspace/runteq/PF/アプリ名/bin/rails:5:in `<top (required)>' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `load' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `call' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/client.rb:30:in `run' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/bin/spring:49:in `<top (required)>' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `load' /Users/user_name/workspace/runteq/PF/アプリ名/vendor/bundle/ruby/2.6.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `<top (required)>' /Users/user_name/workspace/runteq/PF/アプリ名/bin/spring:10:in `block in <top (required)>' /Users/user_name/workspace/runteq/PF/アプリ名/bin/spring:7:in `tap' /Users/user_name/workspace/runteq/PF/アプリ名/bin/spring:7:in `<top (required)>' Tasks: TOP => db:create (See full trace by running task with --trace)
やったこと
まず、postgreSQLが動作しているかを確認する。
$ brew services list mysql@5.7 stopped postgresql error user_name /Users/user_name/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
エラーが発生していて、起動できていないことが確認できた。
一応upgradeを一度して、改めてパスを通した。
$ brew upgrade postgresql $ echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc $ source ~/.zshrc
upgradeした時にpostgresqlの起動方法が表示されているので、
To have launchd start postgresql now and restart at login: brew services start postgresql Or, if you don't want/need a background service you can just run: pg_ctl -D /usr/local/var/postgres start
のうち、
$ pg_ctl -D /usr/local/var/postgres start
起動を実行した。
waiting for server to start....2021-05-13 00:13:14.089 JST [24927] LOG: starting PostgreSQL 13.2 on x86_64-apple-darwin20.3.0, compiled by Apple clang version 12.0.0 (clang-1200.0.32.29), 64-bit 2021-05-13 00:13:14.091 JST [24927] LOG: listening on IPv4 address "127.0.0.1", port 5432 2021-05-13 00:13:14.091 JST [24927] LOG: listening on IPv6 address "::1", port 5432 2021-05-13 00:13:14.107 JST [24927] FATAL: could not create lock file "/tmp/.s.PGSQL.5432.lock": Permission denied 2021-05-13 00:13:14.109 JST [24927] LOG: database system is shut down stopped waiting pg_ctl: could not start server Examine the log output.
すると上記のような表示が出力され、tmpディレクトリにpermission deniedが発生していることがわかった。
そのため、以下のコマンドで許可を与えた。
$ sudo chmod 1777 /tmp
そしてもう一度
$ pg_ctl -D /usr/local/var/postgres start
を実行した。
すると以下のような表示が出た。
pg_ctl: another server might be running; trying to start server anyway waiting for server to start....2021-05-13 00:17:46.861 JST [25470] FATAL: lock file "postmaster.pid" already exists 2021-05-13 00:17:46.861 JST [25470] HINT: Is another postmaster (PID 25460) running in data directory "/usr/local/var/postgres"? stopped waiting pg_ctl: could not start server Examine the log output.
今度はlock file "postmaster.pid" already existsという表示が出たのでrmした。
$ rm /usr/local/var/postgres/postmaster.pid
brew services listで動作確認をまた行うと、
Name Status User Plist mysql@5.7 stopped postgresql started user_name /Users/user_name/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
で動作確認ができ、rails db:createも実行できるようになった。
参考文献
<Ruby on Rails> credentials.yml.encの設定方法
credentialsとは
production環境用の秘密情報の管理をするためにRails5.2でcredentialsという機能が追加された。
これが導入されるまでは環境変数などで設定されていた。
credentialsは、管理される秘密情報そのものを指すと同時に、管理の仕組みを指す言葉である。
この仕組みを簡単に説明すると、credentials.yml.encファイルに記載された情報を暗号化し、master.keyで複合し、使用できるようにしたもの。
credentials.yml.enc
秘密情報(credentials)は、config/credentials.yml.encに記述する。
このファイルは常に暗号化して保存され、このファイルの内容を編集するには専用コマンドを使用する。
複合はmaster.keyファイルなどからキー情報を取り出して行われる。
基本的に同一のリポジトリにcredentialsファイルとmaster.keyファイルを一緒に置かないこと(復号できてしまうので)。
Railsアプリケーションは、.gitignoreに最初からconfig/master.keyが記述されており、pushされないようになっている。
中身を見るコマンド
$ bin/rails credentials:show
編集するコマンド
$ bin/rails credentials:edit
EDITOR環境変数が設定されていないと、以下のような記載が必要になる。
例:vimの場合
$ EDITOR=vi bin/rails credentials:edit
ちなみにEDITOR環境変数は以下のように設定できる。
$ echo 'export EDITOR=vi' >> ~/.zshrc // 環境変数EDITORを設定 $ source ~/.zshrc // 環境設定ファイル~/.zshrcの内容を反映させる
アプリケーションからcredentialsを参照
例:デフォルトのAWSを参照する
$ Rails.application.credentials.aws => {:access_key_id=>123, :secret_access_key=>345} $ Rails.application.credentials.aws[:access_key_id] =>123 $ Rails.application.credentials.aws[:secret_access_key] =>345
参考文献
Rails5.2から追加された credentials.yml.enc のキホン - Qiita
現場で使える Ruby on Rails 5速習実践ガイド | 大場寧子, 松本拓也, 櫻井達生, 小田井優, 大塚隆弘, 依光奏江, 銭神裕宜, 小芝美由紀 |本 | 通販 | Amazon※1
Linux編集エディタの変更 - 環境変数EDITORの設定 - Linux入門 - Webkaru
【 source 】コマンド/【 . 】コマンド――シェルの設定を即座に反映させる:Linux基本コマンドTips(169) - @IT
<VSC> draw.io拡張機能
<JavaScript> jQueryのメソッド、イベントについて
主要なメソッド
on
例:liタグをクリックすると、アラートが発生する
<body> <div> <li>あああ</li> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="script.js"></script> </body>
$("li").on("click", () => { window.alert("clickされた"); });
fadeout
例:liタグをクリックするとゆっくり消える
<body> <div> <li>クリックされると消えるよ</li> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="script.js"></script> </body>
$("li").click(() => { $("li").fadeOut("slow"); });
fadein
例:clickしてくださいを押すとボックスが表示される
<style> span { cursor: pointer; } div { margin: 3px; width: 80px; display: none; height: 80px; float: left; } #one { background-color: aqua; } #two { background-color: pink; } #three { background-color: yellow; } </style> <body> <span>clickしてください</span> <div id="one"></div> <div id="two"></div> <div id="three"></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="script.js"></script> </body>
$(document.body).click(() => { $("div:hidden").first().fadeIn("slow"); });
イベント
「〜をクリックした時」「〜にマウスのカーソルをのせた時」など
「〜をした時」に「〜の処理をする」というもの
イベントの書き方
$(function(){ $("セクレタ").イベント(function{ // セクレタ1を〇〇(=イベント)をした時の部分 $("セレクタ2").メソッド(引数); // セレクタ2に対して××(=イベント)をした時の部分 }); });
覚えておきたいイベント
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> div { height: 50px; width: 50px; text-align: center; line-height: 50px; } .box1, .box4 { background-color: silver; } .box2, .box5 { background-color: aquamarine; } .box3, .box6 { background-color: blue; } </style> </head> <body> <div class="box1">1</div> <div class="box2">2</div> <div class="box3">3</div> <div class="box4">4</div> <div class="box5">5</div> <div class="box6">6</div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(function () { $(".box1").click(function () { $(".box2").hide(); $(".box3").hide(); $(".box4").hide(); $(".box5").hide(); $(".box6").hide(); }); }); </script> </body> </html>
hoverイベント
hover(ホバー)イベントとは、mouseoverとmouseoutの2つを組み合わせたような処理ができるイベント
基本的な記述方法
$(function () { $("セレクタ").hover( function () {}, // マウスをのせた時の処理部分 function () {} // マウスを外した時の処理部分 ); });
<body> <p>画像を表示</p> <img src="https://picsum.photos/200/300" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(function () { $("p").hover( function () { $("img").fadeIn(); }, function () { $("img").fadeOut(); } ); }); </script> </body>
<body> <div class="abc"> <img src="https://picsum.photos/200/300" /> <img src="https://picsum.photos/200/300" /> <img src="https://picsum.photos/200/300" /> </div> <img src="https://picsum.photos/200/300" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(function () { $("img").hover( function () { $(this).animate({ width: "220px" }); }, function () { $(this).animate({ width: "200px" }); } ); }); </script> </body>
参考文献
<Ruby on Rails エラー編> rails -vをすると大量にignoring nokogiriが吐き出された
発生したエラー
railsをnewした後bundle installし、ふとrails -vを押してみたら大量のignoring nokogiri ~というエラーが出た
$ rails -v Ignoring nokogiri-1.10.9 because its extensions are not built. Try: gem pristine nokogiri --version 1.10.9 ...大量に発生
解決方法
なんでそんなことになったのか分からず、調べてみると以下の記事を発見。
ライブラリがおかしくなっていたようで、一度rbenvをuninstallしてみると解決した。
$ rbenv uninstall 2.6.6 rbenv: remove /Users/user_name/.rbenv/versions/2.6.6? [yN] y rbenv: cannot rehash: /Users/user_name/.rbenv/shims/.rbenv-shim exists $ rbenv install Downloading openssl-1.1.1k.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5 Installing openssl-1.1.1k... Installed openssl-1.1.1k to /Users/user_name/.rbenv/versions/2.6.6 Downloading ruby-2.6.6.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.6.tar.bz2 Installing ruby-2.6.6... ruby-build: using readline from homebrew Installed ruby-2.6.6 to /Users/user_name/.rbenv/versions/2.6.6 rbenv: cannot rehash: /Users/user_name/.rbenv/shims/.rbenv-shim exists $ gem install rails $ rails -v Rails 6.1.3.1
以下の記述については、いらないファイルが存在しているということらしいので、rmすれば良いらしい。
ちょっと怖いのでmvでゴミ箱へ飛ばした。
rbenv: cannot rehash: /Users/user_name/.rbenv/shims/.rbenv-shim exists
参考文献
railsコマンドを叩くと「Ignoring nokogiri~」が大量に吐き出された話。 - Qiita
<JavaScript> jQueryの基本構文、セクレタについて
jQueryとは
JavaScriptのコードを簡単に使えるようにしたライブラリ(コード集)。 使用するとwebページにさまざまな動きを加えることができる。
使用方法
・jQueryファイル(CDN:Contents Delivery Network)を読み込んで使用
・jQueryファイルをダウンロードして使用
記載する場所はheadタグ内か、bodyの締めの手前。
最近はbody前が多い、らしい。
先にjqueryのCDNを読ませないとscriptが使用できないので注意する。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script type="text/javascript" src="script.js"></script>
script タグの type="text/javascript" の有無による違い
※上記記事で、html5以降ではtype指定が不要になったと記載があったので、typeの記載はなくて良し
JavaScriptファイル(script.js)
jQuery(function(){ // ここにjQueryを書く }); // jQueryは$で書くこともできる $(function(){ // ここにjQueryを書く });
基本的な記述方法
$(function(){ $("セクレタ").メソッド(引数); });
・セクレタ
セクレタと呼ばれる部分
「id」、「class」、「子」などを記述し、対象となる部分を定義。
・メソッド
メソッドと呼ばれる部分。
指定したセクレタに対して、どういった処理を実行するかを定義。
・引数
引数と呼ばれる部分。
引数を指定することで、メソッドの動作を制御。
セクレタ
タイプセクレタ(=要素セクレタ)
h1、h2、p、ul、img...
例:divクラスにクラス名"color"を追加
... <style> .color { color: red; } </style> <body> <div>おはよう</div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="script.js"></script> </body> ...
script.js
$("div").addClass("color");
クラスセクレタ
.a、.b、.cのようにドットの後ろに任意(好きな)の文字を記述
例:aクラスのフォントの色をピンクに変更
... <body> <div class="a">おはよう</div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="script.js"></script> </body> ...
$(".a").css("color", "pink");
IDセレクタ
#abc、#xyz、#nameのようにドットの後ろに任意(好きな)の文字を記述
例:divにid属性appを追加し、#app(idセクレタ)の色を赤に変更する
<body> <div>おはよう</div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="script.js"></script> </body>
$("div").attr("id", "app"); $("#app").css("color", "red");
グループセクレタ
複数のセレクタをカンマ区切りで同時に指定する
例:div、liのフォントをピンクに変える
<body> <div>おはよう</div> <li>こんばんは</li> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="script.js"></script> </body>
$("div, li").css("color", "pink");
スペース区切り
複数のセレクタをスペースで区切り、任意タグの中のタグ(子や孫)にのみ適用
例:divタグ内のliタグの色だけピンクに変える
<body> <div> <div>ああああ</div> <li>おおおお</li> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="script.js"></script> </body>
$("div li").css("color", "pink");
< コマンド > yarn
YarnとはJavaScriptソフトウェアの依存関係を管理するプログラムのこと
Yarnのバージョンを確認
$ yarn -v
Yarnと依存関係にあるソフトウェアのバージョンを確認
$ yarn versions
参考文献
< コマンド > nodenv
nodenvとは
Nodenv…node.jsのバージョン管理ソフトウェア
nodenvのインストール
$ brew install nodenv // $ vim ~/.zshrcに以下を追記 $ eval "$(nodenv init -)" // Nodenv-doctorで設定されていることを確認 $ curl -fsSL <https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor> | bash
Node.jsバージョン一覧
$ nodenv install -l
インストール一覧
$ nodenv versions
現在のバージョン
$ nodenv version #これも使える $ node -v
指定したバージョンをインストール
$ nodenv install
バージョンを指定
// グローバル $ nodenv grobal バージョン // ローカル $ nodenv local バージョン
参考
< コマンド > npm
バージョン確認
npm -v npm -version
グローバル設定
npm -g