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

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

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

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

Q&A

2回答

1884閲覧

[Ruby] レンタルサーバの gem install でエラー

morizoo-

総合スコア65

Ruby

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

0グッド

0クリップ

投稿2018/10/05 15:42

編集2022/01/12 10:55

※【閲覧注意】Ruby超初心者です。てんで見当はずれなこと言ってたら優しくご指摘ください。

前提・実現したいこと

ロリポップSSHサーバ(スタンダードプラン)上で、Rubyプログラムを定期実行(cron)させようと考えてます。
実行するプログラム(exec.rb)で利用しているモジュールは下記の3つです。

  • open-uri
  • nokogiri
  • mysql2

利用しているサーバでは Railsbundlerもサポートしていないようなので、

$ gem install [上3つ] $ ruby exec.rb # ←こいつを定期実行

でやろうとしたところ、gem installでエラーが発生しました。

発生している問題・エラーメッセージ

$ gem install mysql2 /usr/bin/gem:8:in `require': no such file to load -- rubygems (LoadError) from /usr/bin/gem:8

試したこと

  1. エラーメッセージの/usr/bin/gem:8にはrequire 'rubygems'が記述されてます。

rubyのバージョンは1.8.7、古すぎるせい?と考え、rbenvを利用しようと考えました。
rbenv install -v 2.3.1でエラー。ruby-build辺りでルートにアクセスする必要がありますが、レンタルサーバの借り手である僕にはアクセス権がありません。

  1. require './vendor/bundle/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2.rb'みたいに直接指定すれば、bundler($ bundle exec ruby exec.rb)を使う必要なく、$ ruby exec.rbでいけるべ、と考える。

nokogiri,mysql2はわかるが、open-uriのgemってどれだ?状態に...

知りたいこと

【必須】 「試したこと:2」のやり方で適切か?そしてopen-uriを相対パスで表すにはどのgemを指定すればよいのか?

【できれば】 ロリポップSSHサーバ(スタンダードプラン)ってweb開発には向かないのか?このサーバで開発する際のベストプラクティスがほしい。。。

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

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

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

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

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

guest

回答2

0

ロリポップSSHサーバ(スタンダードプラン)ってweb開発には向かないのか?

はい、標準で用意されていないプログラムをレンタルサーバで動かすのは、かなりの技量と手間が必要となります。ライブラリなども自分でインストールできるVPSを使うのが適当でしょう。

投稿2018/10/05 21:56

maisumakun

総合スコア145121

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

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

morizoo-

2018/10/06 06:19

そうなんですね、、 もっとちゃんと調べてから着手すべきでした(- -;) VPSの利用を検討したいと思います。ご回答ありがとうございました。
guest

0

ruby-build辺りでルートにアクセスする必要がありますが、

そんなことはありません。rbenvのインストール方法がおかしいです。しかし、共用レンタルサーバーと言うことはホームディレクトリの下にインストールしているのですよね?

open-uriのgemってどれだ?

open-uri は標準添付ライブラリで、gemではありませんので、インストールの必要は無いです。そのままrequireしてください。

rbenv install -v 2.3.1

そもそも、なぜ今2.3.1なんですか?

投稿2018/10/05 16:01

otn

総合スコア84421

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

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

morizoo-

2018/10/05 17:15 編集

> ruby-build辺りで (ry あっ、そうですね。。今インストールし直してみたらエラー内容が違いました。どこかで間違えてたようです、失礼しました。 インストール先はホームディレクトリです。 ``` $ rbenv install -v 2.3.1 ~/~/tmp/ruby-build.20181006013111.1536 ~ warning: bzip2 not found; consider installing `bzip2` package Downloading ruby-2.3.1.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2 tar (child): bzip2: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now /home/users/0/hogehoge/.rbenv/plugins/ruby-build/bin/ruby-build: line 213: pushd: ruby-2.3.1: No such file or directory BUILD FAILED (Linux 4.14.33-300.1.1.hl6.x86_64 using ruby-build 20180822-12-g73fe30d) Inspect or clean up the working tree at ~/tmp/ruby-build.20181006013111.1536 ``` `bzip2`が必要そうですが、このサーバ(CentOS6)には`rpm`も`yum`も用意されてないみたいです。 --- > open-uri は (ry そういうことだったんですね。ありがとうございます、助かりました。 ただ、また新たな問題が出てきたので質問させていただきます。 `nokogiri`を相対パスで指定したのですが、下記のエラーが発生しました↓ ``` ./vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.4/lib/nokogiri.rb:4:in `require': no such file to load -- rbconfig (LoadError) from ./vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.4/lib/nokogiri.rb:4 from nokogiriTest.rb:3:in `require' from nokogiriTest.rb:3 ``` `nokogiri.rb:4`の`require 'rbconfig'`に引っかかっているようですが、どう対応すべきでしょうか。。rubyのバージョンが関係しているのでしょうか? --- > なぜ今2.3.1なんですか? 会社で利用しているRubyのバージョンが2.3.1だったからです。僕はそのプロジェクトには全く関わりませんが、とりあえず同じバージョンで勉強しておこう、、、位の理由です。
otn

2018/10/06 02:40

rbenvをつかわず、rubyを普通にソースから入れるのが簡単かと思います。
otn

2018/10/06 09:58

OS標準のRubyをアンインストールする必要があるかと言うことですか?ありません。 mkdir $HOME/ruby ./configure --prefix=$HOME/ruby make make install PATH=$HOME/ruby/bin:$PATH かな。 バージョン2.3.7が、バージョン2.3.xのバグフィックス最新版なので、バグも含めて会社と同じにしたいという事で無い限り、2.3.7にしたほうがいいです。2.5.1をお勧めしますが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問