ruby rspec -找不到命令

gojuced7  于 2022-11-04  发布在  Ruby
关注(0)|答案(5)|浏览(193)

作为作业的一部分,我正在创建一个基本的网站。当rails服务器没有运行时,我在根目录下执行“rspec”,rspec被执行了。但是测试失败了。当我启动rails服务器并从另一个终端窗口执行rspec时(在转到根目录后),rspec不工作。我得到以下消息-
Tushars-MacBook-Pro:配方查找器tusharsaurabh$ rspec -bash:rspec:找不到命令
请让我知道,如何解决它。

mi7gmzs6

mi7gmzs61#

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

bundle exec rspec

应该可以的。

ltskdhd1

ltskdhd12#

我使用以下方法解决了此问题:gem install rspec。有另一个解决方案,我发现了,但我没有尝试:sudo gem install rspec,另一个bundle exec rspec spec

fcg9iug3

fcg9iug33#

你不需要运行rails服务器来执行rspec。Rspec是独立运行的。只需运行rspec spec。它将运行你写在项目spec文件夹中的spec。
如果你需要两个都运行,那么你需要这样做。它可能会工作。请尝试一下。
添加到gem文件:

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

从控制台单击bundle。

bundle
rails generate rspec:install
ffscu2ro

ffscu2ro4#

在开发Rails 6应用程序时,我遇到了同样的挑战:
使用以下命令将rspec添加到我的Gemfile后:

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

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

以下是我的修正方法
解决方案1

由于rspec不是全局安装在您的系统上,而是安装在您的项目中,因此每次都需要运行以下命令:

bundle exec rspec

解决方案2

我们可以为rspec生成binstub,而不是使用详细的bundle exec rspec,这样我们就可以使用bin/rspec或仅使用rspec运行我们的规范,方法是使用以下命令:

bundle binstubs rspec-core

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

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

au9on6nz

au9on6nz5#

从导轨7开始使用


**bin/bundle exec rspec spec**

相关问题