#rails sができない
チュートリアルや記事を参考にしながら簡単なアプリケーションを作ろうとrailsを触っていました。
気がつくとrails s
を行う際にエラーが出たりして実行できなくなっていました。
railsとrubyのversionがおかしくなっているのではないかと考えたため、以下の記事を参考にしてversionを整えようとしました。
Homebrewのインストールとrbenvのインストールまで Mac編
無事にインストール・アップデートを行いましたが、以下のエラーが出現しました。
#portの問題
`initialize': Address already in use - bind(2) for "0.0.0.0" port 3000 (Errno::EADDRINUSE)
というエラーを得ました。
調べると、port 3000が既に使われているということです。
$ lsof -wni tcp:3000
これでportの状態を確認すると、
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 878 name 19u IPv4 number 0t0 TCP *:hbci (LISTEN)
このPID 878が使われているようなので、
$ kill -9 878
で削除します。何もエラーが返ってこなかったら大丈夫です。次に進みます。
$ rails s
をやっと行うことができました!
#Gemfileの問題
$ rails new app
$ rails generate model Task date:date title:string
でアプリケーションの開発を開始しようとしたら以下のようなエラーが。
`block (2 levels) in replace_gem': Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile. (LoadError)
解決策としてはエラーメッセージ通りにGemfileにsqlite3のversionについて書き足してあげましょう。
+ gem 'sqlite3', '~> 1.3.6'
よし、これでいけるかと思い再びrails new コマンドを打ちましたが今回は以下のエラーが。
`search_for': Unable to resolve dependency: user requested 'did_you_mean (= 1.0.0)' (Gem::UnsatisfiableDependencyError)
dependencyの問題ということで以下のコマンドを。無事に解決できました。
$ bundle update
updateまで行う必要がありますね。
##参考サイト
rails sしようとしたらAddress already in useと言われた
Homebrewのインストールとrbenvのインストールまで Mac編