Ruby on rails Rails:未定义的方法'in#u pasting?&x27;对于衬板::ANSI:Class(NoMethodError)
我的Ubuntu 20.04机器上安装了Ruby 2.7.2和Rails 6.1.3.1。但是,当我尝试使用以下命令测试ruby命令时:Ruby on rails Rails:未定义的方法'in#u pasting?&x27;对于衬板::ANSI:Class(NoMethodError),ruby-on-rails,ruby,Ruby On Rails,Ruby,我的Ubuntu 20.04机器上安装了Ruby 2.7.2和Rails 6.1.3.1。但是,当我尝试使用以下命令测试ruby命令时: irb a = 1 ruby -v bundler -v rails -v gem uninstall reline 我得到以下错误: /home/mycomputer/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/irb-1.3.5/lib/irb/ruby-lex.rb:50:inblock in-in
irb
a = 1
ruby -v
bundler -v
rails -v
gem uninstall reline
我得到以下错误:
/home/mycomputer/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/irb-1.3.5/lib/irb/ruby-lex.rb:50:inblock in-in-in-set\u-input:Reline的未定义方法
我仍在尝试修复它,但它正在工作。该错误是由Ruby 2.7.2
设置中的gem问题引起的。但是,如果我使用rbenv global 2.6.6
切换到另一个Ruby版本(2.6.6
),一切似乎都正常
以下是我如何修复它的方法:
gem install bundler
gem install rails -v 6.1.3.1
rbenv rehash
解决方案1:
gem install bundler
gem install rails -v 6.1.3.1
rbenv rehash
由于gem附带Ruby安装,我们将使用rbenv卸载导致问题的Ruby 2.7.2版本:
rbenv uninstall 2.7.2
rbenv install 2.7.2
接下来,使用rbenv重新安装导致问题的ruby 2.7.2版本:
rbenv uninstall 2.7.2
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的版本:
irb
a = 1
ruby -v
bundler -v
rails -v
gem uninstall reline
这一次,当您尝试使用irb
再次测试时,它应该可以正常工作
解决方案2:
gem install bundler
gem install rails -v 6.1.3.1
rbenv rehash
更快的方法是使用以下命令在Ruby 2.7.2
设置中卸载gem:
irb
a = 1
ruby -v
bundler -v
rails -v
gem uninstall reline
然后重新安装:
gem install reline
注意:
gem install bundler
gem install rails -v 6.1.3.1
rbenv rehash
我没有测试它来确认它是否解决了问题
就这些
我希望这有帮助