我在我的Ubuntu20.04机器上安装了和Rails 6.1.3.1。但是,当我尝试使用下面的命令测试ruby命令时:
irb
a = 1我得到的错误如下:
/home/mycomputer/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/irb-1.3.5/lib/irb/ruby-lex.rb:50:in
block in set_input': undefined methodin_pasting?用于Reline::ANSI:Class (NoMethodError)
我还在试着修理它,但它正在起作用。
发布于 2021-04-17 11:24:00
该错误是由中继线 gem在Ruby 2.7.2设置中出现的问题引起的。但是,如果我切换到使用2.6.6的另一个Ruby ( rbenv global 2.6.6 ),一切似乎都很好。
,这是我如何修复它的
解决方案1
由于Ruby附带了中继线安装,我们将卸载ruby2.7.2版本,这是使用rbenv引发问题的原因:
rbenv uninstall 2.7.2接下来,重新安装ruby 2.7.2版本,这是使用rbenv引发问题的原因:
rbenv install 2.7.2之后,您将安装您正在使用的Bunder和Rails的版本。在本例中,我的Rails版本是Rails 6.1.3.1
gem install bundler
gem install rails -v 6.1.3.1
rbenv rehash之后,您可以检查使用以下命令安装的ruby、bundler和rails的版本:
ruby -v
bundler -v
rails -v这一次,当您尝试再次使用irb进行测试时,它应该工作得很好。
解决方案2
一种更快的方法是使用以下命令在中继线安装程序中卸载Ruby 2.7.2 gem:
gem uninstall reline然后重新安装:
gem install relineNote
我没有测试这个来确认它是否解决了这个问题。
就这样。
我希望这对有帮助
https://stackoverflow.com/questions/67137600
复制相似问题