質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Sinatra

Sinatraは、Rubyで作られた オープンソースのWebアプリケーションフレームワークです。

Q&A

解決済

1回答

1755閲覧

app.rbが起動できません。require 'sinatra' で問題が発生???

isonodayodayo

総合スコア6

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Sinatra

Sinatraは、Rubyで作られた オープンソースのWebアプリケーションフレームワークです。

0グッド

0クリップ

投稿2020/10/13 05:10

編集2020/10/13 05:59

ruby on railsでの開発をローカル環境でもできるように環境構築しました。そして簡易的なプログラムを用いてサーバを立てて練習を始めましたが、最初のサーバを立てる段階で詰まってしまっています。コード及び、gemやrubyのversionを明記いたします。

以下がファイル構造です。

sinatra_prac/ └ app.rb └ views/ └ index.erb

以下が立てたいサーバのapp.jsです。

ruby

1require 'rubygems' 2require 'sinatra' 3 4get '/' do 5 erb :index 6end

index.erbには特に何も書いてありません。

以下がrubyのバージョンと、gemのインストール状況です。

#rvm list * ruby-2.5.3 [ x86_64 ] => ruby-2.7.2 [ x86_64 ] # => - current # =* - current && default # * - default
#gem list *** LOCAL GEMS *** benchmark (default: 0.1.0) bigdecimal (default: 2.0.0) bundler (default: 2.1.4) bundler-unload (1.0.2) cgi (default: 0.1.0) csv (3.1.7, default: 3.1.2) date (3.0.1, default: 3.0.0) dbm (default: 1.1.0) delegate (default: 0.1.0) did_you_mean (default: 1.4.0) etc (default: 1.1.0) executable-hooks (1.6.0) fcntl (default: 1.0.0) fiddle (default: 1.0.0) fileutils (default: 1.4.1) forwardable (default: 1.3.1) gem-wrappers (1.4.0) getoptlong (default: 0.1.0) io-console (default: 0.5.6) ipaddr (default: 1.2.2) irb (1.2.7, default: 1.2.6) json (2.3.1, default: 2.3.0) logger (default: 1.4.2) matrix (0.3.0, default: 0.2.0) minitest (5.14.2, 5.13.0) mutex_m (default: 0.1.0) net-pop (default: 0.1.0) net-smtp (default: 0.1.0) net-telnet (0.2.0) observer (default: 0.1.0) open3 (default: 0.1.0) openssl (2.2.0, default: 2.1.2) ostruct (0.3.1, default: 0.2.0) power_assert (1.2.0, 1.1.7) prime (default: 0.1.1) pstore (default: 0.1.0) psych (3.2.0, default: 3.1.0) racc (1.5.0, default: 1.4.16) rake (13.0.1) rdoc (default: 6.2.1) readline (default: 0.0.2) readline-ext (0.1.1, default: 0.1.0) reline (default: 0.1.5) rexml (3.2.4, default: 3.2.3) rss (0.2.9, default: 0.2.8) rubygems-bundler (1.4.5) rvm (1.11.3.9) sdbm (default: 1.0.0) singleton (default: 0.1.0) stringio (0.1.4, default: 0.1.0) strscan (default: 1.0.3) test-unit (3.3.6, 3.3.4) timeout (default: 0.1.0) tracer (default: 0.1.0) uri (default: 0.10.0) webrick (1.6.1, default: 1.6.0) xmlrpc (0.3.0) yaml (default: 0.1.0) zlib (default: 1.1.0)
#gem env RubyGems Environment: - RUBYGEMS VERSION: 3.1.4 - RUBY VERSION: 2.7.2 (2020-10-01 patchlevel 137) [x86_64-darwin19] - INSTALLATION DIRECTORY: /Users/isonoyuma/.rvm/gems/ruby-2.7.2 - USER INSTALLATION DIRECTORY: /Users/isonoyuma/.gem/ruby/2.7.0 - RUBY EXECUTABLE: /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/bin/ruby - GIT EXECUTABLE: /usr/bin/git - EXECUTABLE DIRECTORY: /Users/isonoyuma/.rvm/gems/ruby-2.7.2/bin - SPEC CACHE DIRECTORY: /Users/isonoyuma/.gem/specs - SYSTEM CONFIGURATION DIRECTORY: /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/etc - RUBYGEMS PLATFORMS: - ruby - x86_64-darwin-19 - GEM PATHS: - /Users/isonoyuma/.rvm/gems/ruby-2.7.2 - /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/lib/ruby/gems/2.7.0 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ - SHELL PATH: - /Users/isonoyuma/.rvm/gems/ruby-2.7.2/bin - /Users/isonoyuma/.rvm/gems/ruby-2.7.2@global/bin - /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/bin - /Users/isonoyuma/.rvm/bin - /Users/isonoyuma/.rbenv/shims - /usr/local/opt/mysql@5.7/bin - /Users/isonoyuma/.nodebrew/current/bin - /Users/isonoyuma/.nodebrew/current/bin - /Users/isonoyuma/opt/anaconda3/bin - /Users/isonoyuma/opt/anaconda3/condabin - /Users/isonoyuma/.nodebrew/current/bin - /usr/local/bin - /usr/bin - /bin - /usr/sbin - /sbin - /Library/Apple/usr/bin - /Users/isonoyuma/apache-maven-3.6.3/bin

そしてサーバの実行をしようとしたときのエラーがこちらです。

ruby app.rb -o $IP -p $PORT Traceback (most recent call last): 2: from app.rb:2:in `<main>' 1: from /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- sinatra (LoadError)

sinatraやrubyのバージョンに起因するエラーということまでは分かっていて、rubyのバージョンを変えてみたりいろいろ試してみたのですが、よくわからず先に進めない状態にいます。
どなたかお分かりになるかた、お教えくださると幸いです。

よろしくお願いいたします。

---------------gem install sinatra 実行後にサーバ起動 2020/10/13 15:00追記------------------

該当コマンド実行後、同じようにサーバを実行しようとすると、別のエラーが出てきてしまいました。エラーの内容はこちらになります。

[2020-10-13 14:57:34] INFO WEBrick 1.6.1 [2020-10-13 14:57:34] INFO ruby 2.7.2 (2020-10-01) [x86_64-darwin19] Traceback (most recent call last): 11: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/sinatra-2.1.0/lib/sinatra/main.rb:45:in `block in <module:Sinatra>' 10: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/sinatra-2.1.0/lib/sinatra/base.rb:1499:in `run!' 9: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/sinatra-2.1.0/lib/sinatra/base.rb:1565:in `start_server' 8: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/rack-2.2.3/lib/rack/handler/webrick.rb:38:in `run' 7: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/rack-2.2.3/lib/rack/handler/webrick.rb:38:in `new' 6: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/webrick-1.6.1/lib/webrick/httpserver.rb:47:in `initialize' 5: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/webrick-1.6.1/lib/webrick/server.rb:108:in `initialize' 4: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/webrick-1.6.1/lib/webrick/server.rb:127:in `listen' 3: from /Users/isonoyuma/.rvm/gems/ruby-2.7.2/gems/webrick-1.6.1/lib/webrick/utils.rb:65:in `create_listeners' 2: from /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/socket.rb:763:in `tcp_server_sockets' 1: from /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/socket.rb:227:in `foreach' /Users/isonoyuma/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/socket.rb:227:in `getaddrinfo': getaddrinfo: nodename nor servname provided, or not known (SocketError)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gouf

2020/10/13 05:12

「gem install sinatra」を実行した場合、何か変化は見られますか?
isonodayodayo

2020/10/13 05:54

ご提言ありがとうございます!! 該当コマンド実行後、サーバの実行をすると、違うエラーが発生してしまいました。ただいま質問の修正及び追記を致しますので、少々お待ちください。よろしくお願いいたします。
gouf

2020/10/13 07:15

「ruby app.rb -o $IP -p $PORT」で起動しようとしていますが; 「echo $IP」「echo $PORT」で環境変数の値は出力されますか? 「ruby app.rb -o 0.0.0.0」で起動に成功した場合、当該ポートへのアクセスでページは表示されますか?
isonodayodayo

2020/10/14 07:34

返信遅くなってしまい申し訳ありません!! 「echo $IP」「echo $PORT」に関してですが、表示がされませんでした。 「ruby app.rb -o 0.0.0.0」に関しては起動が確認できました。また表示も問題なくできました。 「ruby app.rb -o $IP -p $PORT」こちらのコマンドに関してですが、オンラインスクールで学んだものなのですが、AWSのCloud9上で実行することを前提としていたカリキュラムだったので、ローカル環境での開発は想定されていませんでした。ので、該当コマンドの意図することがわからずに使っていました。申し訳ありません。 仮にこのコマンドが成功し、問題なくサーバが実行された場合、何ができるようになるのでしょうか??? ご教授いただければと思います。 よろしくお願いいたします。
gouf

2020/10/14 08:29

参照する資料と環境は合わせましょう...。 ローカル開発環境の場合、「ruby app.rb -o 0.0.0.0」で起動することで「http://localhost:[port number]」でWebブラウザからページにアクセスすることが出来ます たとえば Sinatra の公式ドキュメントがあるので、それに目を通して概要を把握してみてください : http://sinatrarb.com/intro-ja.html
guest

回答1

0

自己解決

サーバの立てる際の知識が足りませんでした。
使うコマンド一つ一つの意味をしっかりと理解した上で使用することが大事だと改めて思い知りました。

投稿2020/10/30 06:51

isonodayodayo

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問