首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails:未定义的方法`in_pasting?‘用于Reline::ANSI:Class (NoMethodError)

Rails:未定义的方法`in_pasting?‘用于Reline::ANSI:Class (NoMethodError)
EN

Stack Overflow用户
提问于 2021-04-17 11:24:00
回答 1查看 720关注 0票数 1

我在我的Ubuntu20.04机器上安装了和Rails 6.1.3.1。但是,当我尝试使用下面的命令测试ruby命令时:

代码语言:javascript
复制
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 method in_pasting?用于Reline::ANSI:Class (NoMethodError)

我还在试着修理它,但它正在起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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引发问题的原因:

代码语言:javascript
复制
rbenv uninstall 2.7.2

接下来,重新安装ruby 2.7.2版本,这是使用rbenv引发问题的原因:

代码语言:javascript
复制
rbenv install 2.7.2

之后,您将安装您正在使用的BunderRails的版本。在本例中,我的Rails版本是Rails 6.1.3.1

代码语言:javascript
复制
gem install bundler
gem install rails -v 6.1.3.1
rbenv rehash

之后,您可以检查使用以下命令安装的ruby、bundler和rails的版本:

代码语言:javascript
复制
ruby -v
bundler -v
rails -v

这一次,当您尝试再次使用irb进行测试时,它应该工作得很好。

解决方案2

一种更快的方法是使用以下命令在中继线安装程序中卸载Ruby 2.7.2 gem:

代码语言:javascript
复制
gem uninstall reline

然后重新安装:

代码语言:javascript
复制
gem install reline

Note

我没有测试这个来确认它是否解决了这个问题。

就这样。

我希望这对有帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67137600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档