Dne 26. 11. 23 v 15:13 Mamoru TASAKA napsal(a):
rubygem-shoulda-matchers is FIXED:
With some discussion, this is fixed on ruby side:
https://github.com/ruby/ruby/commit/e34e8b93f8fac3ef40ab5ed8672fa003f3b4d9c0
ref:
https://github.com/rubygems/rubygems/pull/7128
> 14.
> rubygem-shoulda-matchers
>
https://copr.fedorainfracloud.org/coprs/mtasaka/rubygem-newruby-test-3-2/...
>
> Lots of:
> ```
> An error occurred while loading
> ./spec/unit/shoulda/matchers/action_controller/callback_matcher_spec.rb.
> Failure/Error: require 'unit_spec_helper'
>
> NoMethodError:
> undefined method `tr' for an instance of Pathname
> ```
> Not sure what this means.
>
There is unfortunately another issue with shoulda-matchers:
~~~
1) shoulda-matchers integrates with Rails in a project that uses Spring
Failure/Error: run_rake_tasks!('db:drop', 'db:create',
'db:migrate')
RuntimeError:
Command
"BUNDLE_GEMFILE=\"/tmp/shoulda-matchers-acceptance/test-project/Gemfile\"
bundle _2.5.0.dev_ exec rake db:drop db:create db:migrate --trace"
exited with status 1.
Output:
---START----------------------------------------------------------------
bundler: failed to load command: rake (/usr/bin/rake)
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/definition.rb:451:in
`validate_ruby!': Your Ruby version is 3.3.0.dev, but your Gemfile
specified 3.3.0 (Bundler::RubyVersionMismatch)
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/definition.rb:426:in
`validate_runtime!'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler.rb:157:in `setup'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/setup.rb:23:in `block
in <top (required)>'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/ui/shell.rb:159:in
`with_level'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/ui/shell.rb:111:in
`silence'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/setup.rb:23:in `<top
(required)>'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/cli/exec.rb:56:in
`require_relative'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/cli/exec.rb:56:in
`kernel_load'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/cli/exec.rb:23:in `run'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/cli.rb:491:in `exec'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/vendor/thor/lib/thor/command.rb:28:in
`run'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in
`invoke_command'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/vendor/thor/lib/thor.rb:527:in
`dispatch'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/cli.rb:34:in `dispatch'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/vendor/thor/lib/thor/base.rb:584:in
`start'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/cli.rb:28:in `start'
from
/usr/share/gems/gems/bundler-2.5.0.dev/libexec/bundle:28:in `block in
<top (required)>'
from
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/friendly_errors.rb:117:in
`with_friendly_errors'
from
/usr/share/gems/gems/bundler-2.5.0.dev/libexec/bundle:20:in `<top
(required)>'
from /usr/bin/bundle:25:in `load'
from /usr/bin/bundle:25:in `<main>'
---END------------------------------------------------------------------
#
/builddir/build/BUILD/spec/support/tests/command_runner.rb:111:in `fail!'
# /builddir/build/BUILD/spec/support/tests/command_runner.rb:69:in
`block (2 levels) in call'
#
/builddir/build/BUILD/spec/support/tests/command_runner.rb:196:in
`possibly_running_quickly'
# /builddir/build/BUILD/spec/support/tests/command_runner.rb:65:in
`block in call'
#
/builddir/build/BUILD/spec/support/tests/command_runner.rb:202:in
`possibly_retrying'
# /builddir/build/BUILD/spec/support/tests/command_runner.rb:64:in
`call'
# /builddir/build/BUILD/spec/support/tests/command_runner.rb:11:in
`block in run'
# /builddir/build/BUILD/spec/support/tests/command_runner.rb:9:in
`run'
#
/builddir/build/BUILD/spec/support/acceptance/helpers/command_helpers.rb:10:in
`run_command'
#
/builddir/build/BUILD/spec/support/acceptance/helpers/command_helpers.rb:24:in
`run_command_isolated_from_bundle'
#
/builddir/build/BUILD/spec/support/acceptance/helpers/command_helpers.rb:41:in
`run_command_within_bundle'
#
/builddir/build/BUILD/spec/support/acceptance/helpers/command_helpers.rb:50:in
`run_command_within_bundle!'
#
/builddir/build/BUILD/spec/support/acceptance/helpers/command_helpers.rb:65:in
`run_rake_tasks!'
# ./spec/acceptance/rails_integration_spec.rb:17:in `block (2
levels) in <top (required)>'
# /usr/share/gems/gems/bundler-2.5.0.dev/libexec/bundle:28:in
`block in <top (required)>'
# /usr/share/gems/gems/bundler-2.5.0.dev/libexec/bundle:20:in
`<top (required)>'
~~~
Reported here:
https://github.com/rubygems/rubygems/issues/7277
Luckily, this should disappear with official Ruby version.
Vít