【问题标题】:rspec - command not foundrspec - 找不到命令
【发布时间】:2016-03-13 06:26:50
【问题描述】:

作为任务的一部分,我正在创建一个基本网站。 当 Rails 服务器没有运行并且我为根目录执行“rspec”时,rspec 被执行。但是测试失败。当我启动 rails 服务器并从另一个终端窗口执行 rspec 时(进入根目录后),rspec 不起作用。我收到以下消息 -

Tushars-MacBook-Pro:recipefinder tusharsaurabh$ rspec -bash: rspec: 找不到命令

请告诉我,如何解决它。

【问题讨论】:

    标签: ruby-on-rails ruby rspec


    【解决方案1】:

    也许你的rspec 命令没有安装在系统范围内,没关系,试试运行

    bundle exec rspec
    

    它应该可以工作。

    【讨论】:

    • 这立即解决了我的问题。能解释一下是什么原因造成的吗?
    • 我也有同样的问题。如果您也添加解决方案可能会很棒。
    • 你可能只需要运行bundle
    【解决方案2】:

    我解决了这个问题:gem install rspec。我找到了另一个解决方案但我没有尝试:sudo gem install rspec,另一个bundle exec rspec spec

    【讨论】:

      【解决方案3】:

      您无需运行 rails 服务器即可执行 rspec。 Rspec 独立运行。只需运行rspec spec。它将运行您在项目的规范文件夹中编写的规范。

      如果你需要两者都运行,那么你需要做这样的事情。它可能会起作用。请尝试一下。

      添加到您的 gem 文件中:

      group :development, :test do
        gem 'rspec-rails'
      end
      

      从您的控制台点击捆绑包。

      bundle
      rails generate rspec:install
      

      【讨论】:

        【解决方案4】:

        在开发 Rails 6 应用程序时,我遇到了同样的挑战:

        rspec 添加到我的Gemfile 后,使用:

        group :test do
          gem 'rspec-rails', '~> 5.0'
        end
        

        当我运行命令rspec 时使用bundle install 安装它,我得到了错误:

        rspec 命令未找到

        这是我修复它的方法

        解决方案 1

        由于rspec并未全局安装在您的系统上,但在您的项目中,您每次都需要运行该命令:

        bundle exec rspec
        

        解决方案 2

        我们可以为 rspec 生成 binstubs,而不是冗长的 bundle exec rspec,这样我们就可以使用 bin/rspec 或仅使用 rspec 运行我们的规范:

        bundle binstubs rspec-core
        

        注意:运行命令后关闭当前终端/shell并重新打开一个新终端。

        现在你可以运行命令rspec,一切都会好起来的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-10-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-10
          相关资源
          最近更新 更多