NoMethodError:gem 설치 - 사용자 설치 기준ips-V2.8.0

3529 단어 benchmark-ips

묘사

오늘 발표된 2.8.0 버전에 대해 다음과 같은 오류가 발생했습니다.
저는 Fedora 31에서 Ruby 2.7.1을 사용합니다.
$ which ruby
/usr/local/ruby-2.7.1/bin/ruby

$ which gem
/usr/local/ruby-2.7.1/bin/gem

$ gem -v
3.1.2

$ gem install --user-install benchmark-ips
Fetching benchmark-ips-2.8.0.gem
Successfully installed benchmark-ips-2.8.0
Parsing documentation for benchmark-ips-2.8.0

RDoc::Parser::Ruby failure around line 176 of
lib/benchmark/ips.rb

end

Before reporting this, could you check that the file you're documenting
has proper syntax:

  /home/root/local/ruby-2.7.1/bin/ruby -c lib/benchmark/ips.rb

RDoc is not a full Ruby parser and will fail when fed invalid ruby programs.

The internal error was:

    (NoMethodError) undefined method `[]' for nil:NilClass

ERROR:  While executing gem ... (NoMethodError)
    undefined method `[]' for nil:NilClass
$ gem install --user-install benchmark-ips -v 2.8.0
Successfully installed benchmark-ips-2.8.0
Parsing documentation for benchmark-ips-2.8.0

RDoc::Parser::Ruby failure around line 176 of
lib/benchmark/ips.rb

end

Before reporting this, could you check that the file you're documenting
has proper syntax:

  /home/root/local/ruby-2.7.1/bin/ruby -c lib/benchmark/ips.rb

RDoc is not a full Ruby parser and will fail when fed invalid ruby programs.

The internal error was:

    (NoMethodError) undefined method `[]' for nil:NilClass

ERROR:  While executing gem ... (NoMethodError)
    undefined method `[]' for nil:NilClass
2.7.2 문제 없어요.
$ gem install --user-install benchmark-ips -v 2.7.2
Successfully installed benchmark-ips-2.7.2
Parsing documentation for benchmark-ips-2.7.2
Done installing documentation for benchmark-ips after 0 seconds
1 gem installed

토론 #1

같은 상황을 보았다.

토론 #2

이것은 간단한 해결 방안이어야 한다. 만약에 이 문제를 깊이 연구하고 해결하고자 하는 사람이 있다면 나는 핫라인을 통해 새로운 버전을 보낼 것이다.

토론 #셋

오류는 rdoc 과정 중의 gem install 명령에서 나온 것 같습니다.
$ rdoc lib/benchmark/ips.rb
Parsing sources...
100% [ 1/ 1]  lib/benchmark/ips.rb
RDoc::Parser::Ruby failure around line 176 of
lib/benchmark/ips.rb
...

토론 #4

에서 ##의 아래 1줄을 삭제한 후rdoc lib/benchmark/ips.rb 명령이 성공적으로 완료되었습니다.왜 그런지 모르겠어요.
나는 commit

토론 #5

에서 그것을 테스트했다.제출할 때 d96988c213bd9e945128f22ec305c5f5032d10bd 오류가 발생했습니다.
그러나 현재 최신 마스터rdoc lib/benchmark/ips.rb에서3dba7bea8d0284a0385cdf7d2abeb59eb14730ac는 괜찮다.
그나저나 rdoc lib/benchmark/ips.rb 라벨이 없어요.태그 정보를 저장소로 밀어넣는 것을 잊어버릴 수도 있습니다.
$ git diff
diff --git a/lib/benchmark/ips.rb b/lib/benchmark/ips.rb
index 673b80c..cb1a81c 100644
--- a/lib/benchmark/ips.rb
+++ b/lib/benchmark/ips.rb
@@ -109,7 +109,6 @@ module Benchmark
     end
   end

-  ##
   # :singleton-method: ips
   #
   #     require 'benchmark/ips'
v2.8.02.8.0에는 또 다른 질문이 있습니다.
$ git tag
v2.0.0
v2.2.0
v2.3.0
v2.4.0
v2.4.1
v2.5.0
v2.6.0
v2.6.1
v2.7.0
v2.7.1
v2.7.2

토론 #6

https://github.com/evanphx/benchmark-ips/blob/3dba7bea8d0284a0385cdf7d2abeb59eb14730ac/Manifest.txt없어진 것 같다

토론 #7

.lib/benchmark/ips/stats/stats_metric.rb 버전 2.8.0

토론 #8

이 표시되어 있습니다. 이 문제는 마스터에서 해결되었습니다.

좋은 웹페이지 즐겨찾기