【问题标题】:Rspec command not found未找到 Rspec 命令
【发布时间】:2021-10-04 07:30:07
【问题描述】:

我遇到了什么错误

  • zsh: command not found: rspec

我想做的事:

  • 在我的 rails 应用程序中运行 $ rspec

到目前为止我做了什么

  1. 运行$ bundle
  2. 运行$ rails generate rspec:install
  3. 运行$ gem install rspec
  4. 运行$ sudo gem install rspec
  5. 运行$ bundle update rspec-rails
  6. 运行$ bundle binstubs rspec-core

我的 Gemfile

git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.7.4'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
gem 'rails', '~> 6.1.4'
gem 'pg'
# Use Puma as the app server
gem 'puma', '~> 5.0'
# Use SCSS for stylesheets
gem 'sass-rails', '>= 6'
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
gem 'webpacker', '~> 5.0'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.7'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use Active Model has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Active Storage variant
# gem 'image_processing', '~> 1.2'

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.4', require: false

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'rspec-rails'

end

group :development do
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
  gem 'web-console', '>= 4.1.0'
  # Display performance information such as SQL time and flame graphs for each request in your browser.
  # Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md
  gem 'rack-mini-profiler', '~> 2.0'
  gem 'listen', '~> 3.3'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 3.26'
  gem 'selenium-webdriver'
  # Easy installation and use of web drivers to run system tests with browsers
  gem 'webdrivers'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

下面是我尝试使用 rspec 执行的规范文件

我的设置

  • 红宝石 2.7.4p191
  • Rails 6.1.4

顺便说一句,使用$ bundle exec rspec 运行我的规范没有任何问题。我只是很好奇如何使用命令$ rspec 测试我的规格,这很可能在我作为 Rails 开发人员的整个职业生涯中都会用到。

【问题讨论】:

  • 对于你想使用的 binstubs bin/rspec

标签: ruby-on-rails ruby rspec rubygems tdd


【解决方案1】:

预先添加bundle exec 告诉bundler 在当前包的上下文中执行此命令。

尝试执行以下步骤:-

gem install rubygems-bundler

gem regenerate_binstubs

然后尝试使用rspec 而不使用bundle exec

【讨论】:

    【解决方案2】:

    如果您正在使用bundler,大多数时候您会希望在 de bundled 上下文中运行 gems;对于rspec,这始终是正确的。你应该使用bundle exec(你可以使用更短的别名),或者使用带有bin/rspecbinstub

    如果你将./bin添加到你的PATH环境变量中,你可以运行binstubs而不需要前缀bin/;所以你可以通过 rspec 调用 binstub。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 2012-10-31
      相关资源
      最近更新 更多