※【閲覧注意】Ruby超初心者です。てんで見当はずれなこと言ってたら優しくご指摘ください。
前提・実現したいこと
ロリポップSSHサーバ(スタンダードプラン)上で、Rubyプログラムを定期実行(cron)させようと考えてます。
実行するプログラム(exec.rb
)で利用しているモジュールは下記の3つです。
- open-uri
- nokogiri
- mysql2
利用しているサーバでは Rails
もbundler
もサポートしていないようなので、
$ 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
試したこと
- エラーメッセージの
/usr/bin/gem:8
にはrequire 'rubygems'
が記述されてます。
ruby
のバージョンは1.8.7
、古すぎるせい?と考え、rbenv
を利用しようと考えました。
→rbenv install -v 2.3.1
でエラー。ruby-build
辺りでルートにアクセスする必要がありますが、レンタルサーバの借り手である僕にはアクセス権がありません。
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開発には向かないのか?このサーバで開発する際のベストプラクティスがほしい。。。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/06 06:19