I am very new ruby all I am trying to do is actually use a open source code provided in google code to get stackoverflow data to mysql tables. Its in ruby and can be found at the following location (http://geeqe.googlecode.com/svn/trunk/scripts/load.rb). First few lines of code as follows:
require 'rubygems'
require 'libxml'
require "mysql"
require "pp"
include LibXML
Prior to this installs rvm, then executed rvm install 1.9.3, rvm install jruby
But when I try to execute ruby load.py I get the following error I am not really sure what to make out of since my limited knowledge of ruby.
/Users/mac/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- libxml (LoadError)
from /Users/mac/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from load.rb:2:in `<main>'
Here is my gem list:
*** LOCAL GEMS ***
actionmailer (3.2.11)
actionpack (3.2.11)
activemodel (3.2.11)
activerecord (3.2.11)
activeresource (3.2.11)
activesupport (3.2.11)
arel (3.0.2)
bigdecimal (1.1.0)
builder (3.0.4)
bundler (1.2.3)
erubis (2.7.0)
hike (1.2.1)
i18n (0.6.1)
io-console (0.3)
journey (1.0.4)
json (1.5.4)
libxml-ruby (2.5.0)
mail (2.4.4)
mime-types (1.19)
minitest (2.5.1)
multi_json (1.5.0)
polyglot (0.3.3)
rack (1.4.4)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.11)
railties (3.2.11)
rake (10.0.3, 0.9.2.2)
rdoc (3.9.4)
require (0.2.7)
rubygems-bundler (1.1.0)
rvm (1.11.3.6)
sprockets (2.2.2)
thor (0.17.0)
tilt (1.3.3)
treetop (1.4.12)
tzinfo (0.3.35)
You are also missing the mysql gem.
$gem install mysql
Just repeating the comment that I made above: "Did you install libxml? Try running 'gem install libxml-ruby'."
Related
First off I'm a Newbie in regards to Ruby, and I'm following the simple tutorial on https://www.distilled.net/resources/web-scraping-with-ruby-and-nokogiri-for-beginners/
I have a test.rb file that contains the following:
require 'rubygems'
require 'Nokogiri'
require 'HTTParty'
require 'Pry'
require 'csv'
# this is how we request the page we're going to scrape
page = HTTParty.get('https://newyork.craigslist.org/search/pet?s=0')
Pry.start(binding)
When I try to run the ruby test script, I get the following error:
pjw#ubuntu:~/ruby/test$ ruby test.rb
/home/pjw/.rvm/rubies/ruby-2.3.0/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- HTTParty (LoadError)
from /home/pjw/.rvm/rubies/ruby-2.3.0/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from test.rb:1:in `<main>'
I've verified HTTParty works properly by running:
httparty "https://newyork.craigslist.org/search/pet?s=0"
The problem seems to be the require statement. If I mix the order or the required gems, the first one gives the same error as above. I've searched online and can't seem to find what I'm missing...
in `require': cannot load such file -- httparty (LoadError) - (No Answer)
kernel_require.rb:55:in `require': cannot load such file error - (bundle exec ruby test.rb "Could not locate Gemfile or .bundle/ directory")
Unable to run .rb files on mac - getting /.rbenv/versions/2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' - (GEMS already Installed)
pjw#ubuntu:~/ruby/test$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
pjw#ubuntu:~/ruby/test$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
pjw#ubuntu:~/ruby/test$ gem list
*** LOCAL GEMS ***
actioncable (5.0.0.1)
actionmailer (5.0.0.1)
actionpack (5.0.0.1)
actionview (5.0.0.1)
activejob (5.0.0.1)
activemodel (5.0.0.1)
activerecord (5.0.0.1)
activesupport (5.0.0.1)
addressable (2.5.0)
arel (7.1.4)
autoprefixer-rails (6.5.3, 6.5.2, 6.5.1)
bcrypt (3.1.11)
bigdecimal (default: 1.2.8)
bootstrap (4.0.0.alpha5)
bootstrap-datepicker-rails (1.6.4.1)
bootstrap-sass (3.3.7)
builder (3.2.2)
bundler (1.13.6)
bundler-unload (1.0.2)
byebug (9.0.6)
cancancan (1.15.0)
coderay (1.1.1)
coffee-rails (4.2.1)
coffee-script (2.4.1)
coffee-script-source (1.10.0)
commonjs (0.2.7)
concurrent-ruby (1.0.2)
connection_pool (2.2.1, 2.2.0)
dashing-rails (2.5.0)
debug_inspector (0.0.2)
devise (4.2.0)
did_you_mean (1.0.2, 1.0.0)
erubis (2.7.0)
execjs (2.7.0)
executable-hooks (1.3.2)
ffi (1.9.14)
figaro (1.1.1)
gem-wrappers (1.2.7)
geocoder (1.4.0)
globalid (0.3.7)
gravatarify (3.1.1)
httparty (0.14.0)
i18n (0.7.0)
io-console (0.4.6, default: 0.4.5)
jbuilder (2.6.0)
jquery-rails (4.2.1)
json (2.0.2, default: 1.8.3)
less (2.6.0)
less-rails (2.8.0)
listen (3.1.5, 3.0.8)
loofah (2.0.3)
mail (2.6.4)
method_source (0.8.2)
mime-types (3.1)
mime-types-data (3.2016.0521)
mini_portile2 (2.1.0)
minitest (5.9.1, 5.8.3)
multi_json (1.12.1)
multi_xml (0.5.5)
net-telnet (0.1.1)
nio4r (1.2.1)
nokogiri (1.6.8.1)
orm_adapter (0.5.0)
power_assert (0.3.1, 0.2.6)
pry (0.10.4)
psych (2.1.1, default: 2.0.17)
public_activity (1.5.0)
public_suffix (2.0.4)
puma (3.6.0)
rack (2.0.1)
rack-test (0.6.3)
rails (5.0.0.1)
rails-dom-testing (2.0.1)
rails-html-sanitizer (1.0.3)
rails_serve_static_assets (0.0.5)
rails_stdout_logging (0.0.5)
railties (5.0.0.1)
rake (11.3.0, 10.4.2)
rb-fsevent (0.9.8)
rb-inotify (0.9.7)
rdoc (5.0.0, default: 4.2.1)
redis (3.3.1)
responders (2.3.0)
ruby_dep (1.5.0)
rubygems-bundler (1.4.4)
rubygems-update (2.6.8)
rufus-scheduler (3.2.2)
rvm (1.11.3.9)
sass (3.4.22)
sass-rails (5.0.6)
simple_calendar (2.2.0)
simple_form (3.3.1)
slop (4.4.1, 3.6.0)
spring (2.0.0)
spring-watcher-listen (2.0.1)
sprockets (3.7.0)
sprockets-rails (3.2.0)
sqlite3 (1.3.12)
table_print (1.5.6)
test-unit (3.2.2, 3.1.5)
thor (0.19.1)
thread_safe (0.3.5)
tilt (2.0.5)
turbolinks (5.0.1)
turbolinks-source (5.0.0)
twitter-bootstrap-rails (3.2.2)
tzinfo (1.2.2)
uglifier (3.0.3, 3.0.2)
warden (1.2.6)
web-console (3.4.0, 3.3.1)
websocket-driver (0.6.4)
websocket-extensions (0.1.2)
wunderground (1.2.0)
Try simply this. It's all downcase
require 'httparty'
ubuntu#ip-172-31-19-199:~/ruby$ sudo apt install ruby-httparty
Install ruby-httparty and you won't get the error.
By accident I ran rvm gemset empty default.
Can someone list all gems from gemset default for ruby-2.0.0-p247 so I can reinstall them manually?
Thanks!
Don't worry, it's still possible to restore all your gems:
#!/usr/bin/env bash
CURRENT_GEMSET=$( rvm current )
CACHE_FOLDER=~/.rvm/gems/$CURRENT_GEMSET/cache
CACHED_GEMS=$CACHE_FOLDER/*.gem
for gem_file in $CACHED_GEMS
do
GEM_FILES=$GEM_FILES' '$gem_file
done
gem install $GEM_FILES
You may take a look at ~/.rvm/gems/$( rvm current )/cache folder first. All gems should be there.
Edit:
rvm gemset empty
Removes all the installed gems for gemset. But gems are still in ~/.rvm/gems/$( rvm current )/cache folder(e.g. ~/.rvm/gems/ruby-2.0.0-p247/cache, ~/.rvm/gems/jruby-1.7.3#my_gemset/cache) and you are still able to install them.
A bit of explanations regarding script:
rvm current Print the current Ruby version and the name of any gemset being used(from rvm usage current). You may invoke rvm gemset use first in order to choose gemset you want to restore.
~/.rvm/gems/$( rvm current )/cache is a cache folder for current gemset and is the same as $GEM_HOME/cache.
~/.rvm/gems/$( rvm current )/cache/*.gem is a regexp for gems in cache folder.
Loop through the file names and concatenate them into a single string
for gem_file in $CACHED_GEMS
do
GEM_FILES=$gem_file' '$GEM_FILES
done
gem install $GEM_FILES reinstalls you gems.
Do you mean this?
alexandr#alexandr-2pcdesktop:~/RailsWork/Achivity$ ruby -v
ruby 2.0.0dev (2013-01-07 trunk 38733) [i686-linux]
alexandr#alexandr-2pcdesktop:~/RailsWork/Achivity$ rvm #global do gem list
*** LOCAL GEMS ***
bundler (1.3.5)
bundler-unload (1.0.1)
rake (10.1.0)
rubygems-bundler (1.2.0)
rvm (1.11.3.8)
=====Updated======
alexandr#alexandr-2pcdesktop:~/RailsWork/Achivity$ rvm default do gem list
*** LOCAL GEMS ***
actionmailer (4.0.0, 3.2.13)
actionpack (4.0.0, 3.2.13)
actionpack-action_caching (1.0.0)
actionpack-page_caching (1.0.0)
activemodel (4.0.0, 3.2.13)
activerecord (4.0.0, 3.2.13)
activerecord-deprecated_finders (1.0.3)
activerecord-postgresql-adapter (0.0.1)
activeresource (3.2.13)
activesupport (4.0.0, 3.2.13)
arel (4.0.0, 3.0.2)
atomic (1.1.10)
bcrypt-ruby (3.0.1)
builder (3.1.4, 3.0.4)
bundler (1.3.5)
bundler-unload (1.0.1)
capybara (2.1.0)
childprocess (0.3.9)
climate_control (0.0.3)
cocaine (0.5.1)
coffee-rails (4.0.0, 3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.6.3, 1.6.2)
commonjs (0.2.6)
database_cleaner (1.0.1)
devise (3.0.0.rc, 2.2.4, 1.5.4)
diff-lcs (1.2.4)
erubis (2.7.0)
execjs (1.4.0)
factory_girl (4.2.0)
factory_girl_rails (4.2.1)
ffi (1.9.0)
hike (1.2.3)
i18n (0.6.4, 0.6.1)
jar_wrapper (0.1.7)
jbuilder (1.4.2)
journey (1.0.4)
jquery-rails (3.0.2, 3.0.1)
json (1.8.0)
less (2.3.2)
less-rails (2.3.3)
libv8 (3.11.8.17 x86-linux)
mail (2.5.4)
mime-types (1.23)
mini_portile (0.5.0)
minitest (4.7.5)
multi_json (1.7.7)
mysql2 (0.3.11)
nokogiri (1.6.0)
orm_adapter (0.4.0, 0.0.7)
paperclip (3.4.2)
pg (0.15.1)
polyglot (0.3.3)
protected_attributes (1.0.3)
rack (1.5.2, 1.4.5)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (4.0.0)
rails-observers (0.1.1)
railties (4.0.0, 3.2.13)
rake (10.1.0)
rdoc (3.12.2)
ref (1.0.5)
rspec-core (2.13.1)
rspec-expectations (2.13.0)
rspec-mocks (2.13.1)
rspec-rails (2.13.2)
rubygems-bundler (1.2.0)
rubyzip (0.9.9)
rvm (1.11.3.8)
sass (3.2.9)
sass-rails (4.0.0)
sdoc (0.3.20)
selenium (0.2.10)
selenium-webdriver (2.33.0)
shoulda-matchers (2.2.0)
sprockets (2.10.0, 2.2.2)
sprockets-rails (2.0.0)
sqlite3 (1.3.7)
therubyracer (0.11.4)
thor (0.18.1)
thread_safe (0.1.0)
tilt (1.4.1)
treetop (1.4.14)
turbolinks (1.2.0)
twitter-bootstrap-rails (2.2.7)
tzinfo (0.3.37)
uglifier (2.1.1)
warden (1.2.1)
websocket (1.0.7)
xpath (2.0.0)
zip (2.0.2)
But all of them are from Gemfile.
I forked puppet-dashboard to make add some filtering to the reports tab. I was asked to write some specs for my changes, but I'm get the following error when trying to run rake spec
/Users/gposton/src/puppet-dashboard/vendor/rails/activesupport/lib/active_support/test_case.rb:12: warning: already initialized constant Mocha
/Users/gposton/src/puppet-dashboard/vendor/rails/activesupport/lib/active_support/dependencies.rb:466:in `load_missing_constant': uninitialized constant Mocha::Standalone (NameError)
from /Users/gposton/src/puppet-dashboard/vendor/rails/activesupport/lib/active_support/dependencies.rb:106:in `const_missing'
from /Users/gposton/src/puppet-dashboard/vendor/gems/rspec-1.3.2/lib/spec/adapters/mock_frameworks/mocha.rb:12
from /Users/gposton/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /Users/gposton/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /Users/gposton/src/puppet-dashboard/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
from /Users/gposton/src/puppet-dashboard/vendor/gems/rspec-1.3.2/lib/spec/runner/options.rb:313:in `plugin_mock_framework'
from /Users/gposton/src/puppet-dashboard/vendor/gems/rspec-1.3.2/lib/spec/runner/options.rb:139:in `run_examples'
from /Users/gposton/src/puppet-dashboard/vendor/gems/rspec-1.3.2/lib/spec/runner/command_line.rb:9:in `run'
from /Users/gposton/src/puppet-dashboard/vendor/gems/rspec-1.3.2/bin/spec:5
rake aborted!
Any ideas?
Here is my configuration.
gposton:puppet-dashboard/ (master✗) $ gem list
*** LOCAL GEMS ***
actionpack (3.2.8)
activemodel (3.2.8)
activesupport (3.2.8)
ap (0.1.1)
builder (3.0.0)
bundler (1.1.3)
colorize (0.5.8)
crack (0.3.1)
daemons (1.0.10)
diff-lcs (1.1.3)
domain_name (0.5.3)
erubis (2.7.0)
factory_girl (2.6.4)
ffi (1.0.11, 0.6.3)
haml (3.1.7)
hike (1.2.1)
httparty (0.8.3)
httpclient (2.2.5)
i18n (0.6.0)
journey (1.0.4)
json (1.7.1)
libvirt (0.2.0)
mail (2.4.4)
mechanize (2.4)
metaclass (0.0.1)
mime-types (1.18)
mocha (0.12.3)
mogilefs-client (3.1.1)
multi_json (1.3.4)
multi_xml (0.4.4)
mysql (2.8.1)
net-http-digest_auth (1.2)
net-http-persistent (2.6)
net-scp (1.0.4)
net-ssh (2.3.0)
nokogiri (1.4.7)
ntlm-http (0.1.1)
polyglot (0.3.3)
rack (1.1.2)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
railties (3.2.8)
rake (0.9.2.2)
rdoc (3.12)
rspec (2.11.0)
rspec-core (2.11.1)
rspec-expectations (2.11.2)
rspec-mocks (2.11.2)
rspec-rails (2.11.0)
ruby-libvirt (0.3.0)
rubygems-bundler (0.9.0)
rvm (1.11.3.3)
sass (3.2.1)
soap4r (1.5.8)
sprockets (2.1.3)
sqlite3 (1.3.6)
sys-filesystem (1.0.0, 0.3.4)
terminal-table (1.4.5)
thor (0.16.0)
thoughtbot-shoulda (2.11.1)
tilt (1.3.3)
treetop (1.4.10)
typhoeus (0.3.3)
unf (0.0.5)
unf_ext (0.0.4)
webrobots (0.0.13)
will_paginate (3.0.3)
xml-simple (1.1.1)
gposton:puppet-dashboard/ (master✗) $ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-darwin11.3.0]
The code can be found on github
The easiest way to make specs work is to use Bundler.
bundle install
bundle exec rake spec
I am attempting to use the packetfu gem. I'm new at ruby on rails, so please bear with me. I'm using rvm with ruby-1.9.3-head [ x86_64 ]. I also have Mac OSX 10.7.4 I am getting this error when trying to run sudo ruby app/models/simpleSniff.rb
/Users/aragorn/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- packetfu (LoadError)
from /Users/aragorn/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from app/simpleSniff.rb:2:in `<main>'
The code contained in simpleSniff.rb is
#!/usr/bin/env ruby
require 'packetfu'
include PacketFu
iface = "eth1"
cap = Capture.new(:iface => iface, :start => true)
cap.stream.each do |p|
put p
end
$gem list
* LOCAL GEMS *
actionmailer (3.2.8)
actionpack (3.2.8)
activemodel (3.2.8)
activerecord (3.2.8)
activeresource (3.2.8)
activesupport (3.2.8)
arel (3.0.2)
builder (3.0.0)
bundler (1.1.5)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.3.3)
diff-lcs (1.1.3)
erubis (2.7.0)
execjs (1.4.0)
hike (1.2.1)
i18n (0.6.0)
journey (1.0.4)
jquery-rails (2.0.2)
json (1.7.4)
mail (2.4.4)
mime-types (1.19)
multi_json (1.3.6)
packetfu (1.1.5)
pcaprub (0.11.2)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.8)
railties (3.2.8)
rake (0.9.2.2)
rdoc (3.12)
rspec (2.11.0, 0.9.4)
rspec-core (2.11.1)
rspec-expectations (2.11.2)
rspec-mocks (2.11.2)
rubygems-bundler (1.0.6)
rvm (1.11.3.5)
sass (3.2.1)
sass-rails (3.2.5)
sdoc (0.3.16)
sprockets (2.1.3)
sqlite3 (1.3.6)
thor (0.16.0)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.33)
uglifier (1.2.7)
Then finally my Gemfile is
source 'http://rubygems.org'
gem "rails", "3.2.8"
gem "rspec", "~> 0.9.2"
gem "sdoc", "~> 0.3.16"
gem "pcaprub", "~> 0.11.2"
gem "packetfu", "~>1.1.5"
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
A) The require problem specifically is because you're sudo'ing and not rvmsudo'ing (which will keep your ruby environment in tact)
B) If PacketFu and Pcaprub and injection and capture all works on your OS X machine, please let me know! I would be both shocked and awed. I've heard rumor it works.. for some people. I've never actually seen it with my own eyeballs, though.
When I try to startup the redmine 1.2 with the server which binding with redmine itself, but it show me an error of gem, info like below:
[root#XPG redmine-1.2.0]# ruby script/server webtrick -e production
Missing the i18n 0.4.2 gem. Please `gem install -v=0.4.2 i18n`
even if I have installed the gem it said:
[root#XPG redmine-1.2.0]# gem list --local
*** LOCAL GEMS ***
aasm (2.2.0)
abstract (1.0.0)
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
arel (2.0.10)
Ascii85 (1.0.1)
block_helpers (0.3.3)
builder (2.1.2)
bundler (1.0.14)
capybara (1.0.0)
childprocess (0.1.9)
cucumber (1.0.0)
cucumber-rails (1.0.2)
diff-lcs (1.1.2)
edavis10-object_daddy (0.4.3)
erubis (2.6.6)
ffi (1.0.9)
gherkin (2.4.1)
holidays (1.0.2)
i18n (0.4.2)
icalendar (1.1.6)
json (1.6.1, 1.5.3)
json_pure (1.5.3)
mail (2.2.19)
mime-types (1.16)
mocha (0.9.12)
mysql (2.8.1)
nokogiri (1.5.0)
pdf-reader (0.9.2)
polyglot (0.3.1)
prawn (0.11.1)
rack (1.2.3, 1.1.2, 1.0.1)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (2.3.5)
rake (0.9.0)
rubygems-update (1.8.11, 1.8.4, 1.5.3, 1.3.7)
rubyzip (0.9.4)
selenium-webdriver (0.2.2)
shoulda (2.10.3)
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3)
term-ansicolor (1.0.5)
thor (0.14.6)
treetop (1.4.9)
ttfunk (1.0.1)
tzinfo (0.3.27)
xpath (0.1.4)
But the issue is still appeared, is there any idea to fix it?
as far as I see, your command is not correct.
server's name is webrick, not "webtrick"
even using webrick, it doesn't support production environment.
seems that you are not using rails3/bundler
I suggest that you start the webserver using either mongrel or thin, both of them are faster and stabler than webrick.