前提・実現したいこと
Ruby on Railsの環境構築をしているのですが、インストールもろもろ終わって最後のサーバー起動ができず躓いております。
何が原因なのか調べてもわからない状態です。
発生している問題・エラーメッセージ
rails s、rails serverを押すとこうなります。
C:\Ruby\rails\bbs>rails s Usage: rails new APP_PATH [options] Description: The 'rails new' command creates a new Rails application with a default directory structure and configuration at the path you specify. You can specify extra command-line arguments to be used every time 'rails new' runs in the .railsrc configuration file in your home directory. Note that the arguments specified in the .railsrc file don't affect the defaults values shown above in this help message. Example: rails new ~/Code/Ruby/weblog This generates a skeletal Rails installation in ~/Code/Ruby/weblog. C:\Ruby\rails\bbs>
試したこと
調べたところrails new アプリ名で作ったアプリ名のフォルダに移動してからrails sをしないとダメだとの記事ばかりで、こちらはすでに何度も試しています。今作ってあるbbsという名の物以外にも作って試してみましたがダメでした。
何が足りていないのかわかりません。
gem install railsやbundle installは済ませ、sqlite3もダウンロードしてからrubyのbinフォルダに移動させました。
devkitもダウンロードしてあります。
作ったbbsフォルダの中身のスクショも貼っておきます(ここに原因がある気がしています)。
追記
rails new bbs2で新しくアプリを作った時の結果です。
C:\Ruby\rails>rails new bbs2 create create README.md create Rakefile create .ruby-version create config.ru create .gitignore create Gemfile run git init from "." C:\Ruby\rails>
gitのコマンドを打った後にサーバー起動を試して得られた結果です。
C:\Ruby\rails\bbs2>rails s => Booting Puma => Rails 6.0.2.1 application starting in development => Run `rails server --help` for more startup options Exiting Traceback (most recent call last): 52: from bin/rails:4:in `<main>' 51: from bin/rails:4:in `require' `perform' 43: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:138:in `tap' 42: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:147:in `block in perform' 41: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:37:in `start' 40: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:77:in `log_to_stdout' 39: from C:/Ruby/lib/ruby/gems/2.6.0/gems/rack-2.0.8/lib/rack/server.rb:354:in `wrapped_app' 38: from C:/Ruby/lib/ruby/gems/2.6.0/gems/rack-2.0.8/lib/rack/server.rb:219:in `app' 37: from C:/Ruby/lib/ruby/gems/2.6.0/gems/rack-2.0.8/lib/rack/server.rb:319:in `build_app_and_options_from_config' 14: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:32:in `run' 13: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:32:in `instance_exec' 12: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/railtie.rb:84:in `block in <class:Engine>' 11: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker.rb:35:in `bootstrap' 10: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/commands.rb:25:in `bootstrap' 9: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/manifest.rb:18:in `refresh' 8: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/manifest.rb:83:in `load' 7: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:51:in `public_manifest_path' 6: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:47:in `public_output_path' 5: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:43:in `public_path' 4: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:84:in `fetch' 3: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:88:in `data' 2: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:92:in `load' 1: from C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:92:in `read' C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:92:in `read': No such file or directory @ rb_sysopen - C:/Ruby/rails/bbs2/config/webpacker.yml (Errno::ENOENT) 51: from bin/rails:4:in `<main>' 50: from bin/rails:4:in `require' 49: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands.rb:18:in `<top (required)>' 48: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/command.rb:46:in `invoke' 47: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/command/base.rb:69:in `perform' 46: from C:/Ruby/lib/ruby/gems/2.6.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch' 45: from C:/Ruby/lib/ruby/gems/2.6.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command' 44: from C:/Ruby/lib/ruby/gems/2.6.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run' 43: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:138:in `perform' 42: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:138:in `tap' 41: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:147:in `block in perform' 40: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:37:in `start' 39: from C:/Ruby/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/commands/server/server_command.rb:77:in `log_to_stdout' 38: from C:/Ruby/lib/ruby/gems/2.6.0/gems/rack-2.0.8/lib/rack/server.rb:354:in `wrapped_app' 37: from C:/Ruby/lib/ruby/gems/2.6.0/gems/rack-2.0.8/lib/rack/server.rb:219:in `app' 36: from C:/Ruby/lib/ruby/gems/2.6.0/gems/rack-2.0.8/lib/rack/server.rb:319:in `build_app_and_options_from_config' 35: from C:/Ruby/lib/ruby/gems/2.6.0/gems/rack-2.0.8/lib/rack/builder.rb:40:in `parse_file' 34: from C:/Ruby/lib/ruby/gems/2.6.0/gems/rack-2.0.8/lib/rack/builder.rb:49:in each_strongly_connected_component' 15: from C:/Ruby/lib/ruby/2.6.0/tsort.rb:228:in `block in tsort_each' C:/Ruby/lib/ruby/gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:95:in `rescue in load': Webpacker configuration file not found C:/Ruby/rails/bbs2/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ rb_sysopen - C:/Ruby/rails/bbs2/config/webpacker.yml (RuntimeError) C:\Ruby\rails\bbs2>
確かにbbsフォルダの中身が少なすぎる気がしますね。vendor とか、app とかができているはずなので。
rails new bbs したときは正常完了したのか怪しいので、そちらの実行時の結果を貼ってみてはいかがでしょうか。
やはりそうですよね。Cloud9を使ったときはたくさんフォルダができていたので違和感を感じていました。
そちら追記します、ありがとうございます!
追記見ました。
うそん?!
Initialized empty Git repository in (省略)bbs2/.git/ってのがこっちでは出ましたよ。gitは入ってますか?パスは通っていますか?
gitはアカウント持っています、あとGithub Desktopを使っています!
参考にしたページにはgitについて書かれていなかったのですが、それが足りていないものになるのでしょうか?パスの通し方がわからないのでそちらに関しては調べてみます!
-G ってつける(rails new -G bbs2) とそこはスキップできるみたい(一応試した)
ありがとうございます!!それを試したらフォルダがたくさん作られました。今bbs2の中にはappやconfigなどが追加されています。(文字数の関係で編集する際に必要なさそうな部分を消去しました。)
しかしサーバーの起動の際に先ほどとはまた違った結果になりました・・・。
エラーを見る感じではwebpackerというのが足りないのか?と思い調べてダウンロードをしています。
確かにエラーメッセージを見ると、現時点では、
No such file or directory @ rb_sysopen - C:/Ruby/rails/bbs2/config/webpacker.yml
こいつが直接的な原因に見えますね。
改めて new のときの結果を貼ってもらうのがよいように思います。
webpacker.ymlをインストールするにはNode.jsが必要のようでダウンロードしたのですが、
c:\Ruby\rails\bbs2>rails webpacker:install
'node' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'nodejs' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
Node.js not installed. Please download and install Node.js https://nodejs.org/en/download/
と出てきてインストールができません。
また、rails newをしても結果はbbs2の時と変わりませんでした。全て消してしまって最初から再構築する手もありでしょうか・・・?
泥沼化してますね・・・Windowsあるある...という気もします。
環境構築についてはWindowsに特化して検索し直したほうがいいかもしれませんね。
(これがフィットするかはわかりませんが、ざっと探して出てきたやつ)
https://qiita.com/kako351/items/ad04ba4ae80f2f144d9c
もしくはDockerやVirtualboxなどのLinux系環境を作ったほうがいいかもしれません(なかなかこれ以上をこの質問のやりとりで進めるのは難しいでしょう)
再度インストールしなおしてもダメだったので適当に触っていたのですが、rails new アプリ名 -sとして作成したらbinやconfigなどのフォルダがたくさん作られ、その後rails sを押したらサーバー起動ができました。
ただ、適当にrails new アプリ名 -sと入力したらできたというだけでこの-sの意味が分かっていません。
optionを見る限り-sはスキップの意味があるようなのですが、なぜフォルダがたくさん作られたのでしょうか・・・?
また、これによりフォルダに緑色のチェックマークも付くようになりました(gitでinitした時のアレです)。
あともしtetsunosukeさんがよろしければベストアンサー差し上げたいのでここではなく回答の方に何かしらコメント頂けると幸いです!
この疑問に関してはもしご存じであればお聞きしたいのですが、本来の質問とは変わってきてしまう気がするので><;
そういえばもう1つ追記なのですがRailsのバージョンを6から5に下げました。
-s, [--skip], [--no-skip] # Skip files that already exist
と、リファレンスにはありますねー。
回答、それでは何かを記載しておきますね。