I'm following an entry-level tutorial on rspec here, and I've created a very simple test at spec\lib\zombie_spec.rb:
require "spec_helper" describe "A Zombie" do #Your 'examples' (tests) go here. it "is named Ash" end If I run this test from the gnome-terminal, everything works as expected:
Pending: (Failures listed here are expected and do not affect your suite's status) 1) A Zombie is named Ash # Not yet implemented # ./spec/lib/zombie_spec.rb:4 Finished in 0.00049 seconds (files took 0.09118 seconds to load) 1 example, 0 failures, 1 pending However, if I try to run the same code from emacs' shell or ansi-term, I get this:
The program 'rspec' is currently not installed. You can install it by typing: sudo apt install ruby-rspec-core After installing ruby-rspec-core and trying to run the test again, I get this:
/home/adc/odin-project/web-development-101/20-code-school-rspec/zombie/spec/spec_helper.rb:48:in `block in <top (required)>': undefined method `shared_context_metadata_behavior=' for #<RSpec::Core::Configuration:0x00000000eed1d0> (NoMethodError) from /usr/lib/ruby/vendor_ruby/rspec/core.rb:97:in `configure' from /home/adc/odin-project/web-development-101/20-code-school-rspec/zombie/spec/spec_helper.rb:19:in `<top (required)>' from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/lib/ruby/vendor_ruby/rspec/core/configuration.rb:1295:in `block in requires=' from /usr/lib/ruby/vendor_ruby/rspec/core/configuration.rb:1295:in `each' from /usr/lib/ruby/vendor_ruby/rspec/core/configuration.rb:1295:in `requires=' from /usr/lib/ruby/vendor_ruby/rspec/core/configuration_options.rb:109:in `block in process_options_into' from /usr/lib/ruby/vendor_ruby/rspec/core/configuration_options.rb:108:in `each' from /usr/lib/ruby/vendor_ruby/rspec/core/configuration_options.rb:108:in `process_options_into' from /usr/lib/ruby/vendor_ruby/rspec/core/configuration_options.rb:21:in `configure' from /usr/lib/ruby/vendor_ruby/rspec/core/runner.rb:105:in `setup' from /usr/lib/ruby/vendor_ruby/rspec/core/runner.rb:92:in `run' from /usr/lib/ruby/vendor_ruby/rspec/core/runner.rb:78:in `run' from /usr/lib/ruby/vendor_ruby/rspec/core/runner.rb:45:in `invoke' from /usr/bin/rspec:4:in `<main>' How can I fix this so that rspec runs successfully from within the emacs shell?