#ruby-on-rails #ruby #linux #ubuntu
Вопрос:
Когда я запускаю «rails server» или «rails s», я получаю сообщение об ошибке.
Здравствуйте, я изучаю Rails, и я получил ошибку
Это код ошибки
Traceback (most recent call last):
52: from bin/rails:2:in `<main>'
51: from bin/rails:2:in `load'
50: from /home/wghu/Desktop/HelloRails/bin/spring:7:in `<top (required)>'
49: from /home/wghu/Desktop/HelloRails/bin/spring:7:in `tap'
48: from /home/wghu/Desktop/HelloRails/bin/spring:10:in `block in <top (required)>'
47: from /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require'
46: from /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require'
45: from /var/lib/gems/2.7.0/gems/spring-3.0.0/lib/spring/binstub.rb:11:in `<top (required)>'
44: from /var/lib/gems/2.7.0/gems/spring-3.0.0/lib/spring/binstub.rb:11:in `load'
43: from /var/lib/gems/2.7.0/gems/spring-3.0.0/bin/spring:49:in `<top (required)>'
42: from /var/lib/gems/2.7.0/gems/spring-3.0.0/lib/spring/client.rb:30:in `run'
41: from /var/lib/gems/2.7.0/gems/spring-3.0.0/lib/spring/client/command.rb:7:in `call'
40: from /var/lib/gems/2.7.0/gems/spring-3.0.0/lib/spring/client/rails.rb:28:in `call'
39: from /var/lib/gems/2.7.0/gems/spring-3.0.0/lib/spring/client/rails.rb:28:in `load'
38: from /home/wghu/Desktop/HelloRails/bin/rails:4:in `<top (required)>'
37: from /home/wghu/Desktop/HelloRails/bin/rails:4:in `require_relative'
36: from /home/wghu/Desktop/HelloRails/config/boot.rb:4:in `<top (required)>'
35: from /home/wghu/Desktop/HelloRails/config/boot.rb:4:in `require'
34: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/setup.rb:4:in `<top (required)>'
33: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap.rb:112:in `default_setup'
32: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap.rb:70:in `setup'
31: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/compile_cache.rb:20:in `setup'
30: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/compile_cache/yaml.rb:50:in `install!'
29: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/compile_cache/yaml.rb:55:in `init!'
28: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
27: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
26: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
25: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
24: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
23: from /usr/lib/ruby/2.7.0/yaml.rb:4:in `<main>'
22: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
21: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
20: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
19: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
18: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
17: from /usr/lib/ruby/2.7.0/psych.rb:15:in `<main>'
16: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
15: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
14: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
13: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
12: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
11: from /usr/lib/ruby/2.7.0/psych/nodes.rb:2:in `<main>'
10: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
9: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
8: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
7: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
6: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
5: from /usr/lib/ruby/2.7.0/psych/nodes/node.rb:2:in `<main>'
4: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
3: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
2: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
1: from /var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/lib/gems/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': superclass mismatch for class StringIO (TypeError)
Команда, когда я запускаю перед
rails g controller home index
версия ubuntu
21.10
Моя версия ruby
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux-gnu]
Спасибо, что помогли мне
Комментарии:
1. какая версия rails это?
rails --version
2. Моя версия rails — Rails 6.1.4.1
Ответ №1:
Какая версия ruby указана в вашем Gemfile?
Установлены ли у вас rbenv
rvm
менеджеры версий ruby или ruby?
Если нет, я бы посоветовал вам сделать это, поскольку это значительно упрощает обработку версий Ruby для каждого проекта (и глобально).
Вы можете проверить эту статью в gorails, чтобы установить rbenv: установите Ruby On Rails на Ubuntu #rbenv
ОСТОРОЖНО: если вы решите установить rbenv
, имейте в виду, что иметь несколько менеджеров версий — плохая идея, поэтому случайно не продолжайте установку rvm
. Они не предназначены для сосуществования в одной системе. Следуйте только этой части:
rbenv install 3.0.2
(или любую другую версию, которую вы пожелаете — предпочтительно ту, которая находится в вашем Gemfile)
rbenv global 3.0.2
(та же версия, которую вы установили)
ruby -v
После этого, пожалуйста, перезапустите bundle install
папку и попробуйте запустить rails s
снова. Дайте нам знать, как это прошло.
Комментарии:
1. в Gemfile версия ruby 2.7.4
2. Что происходит при запуске
rails server
нового проекта, созданного сrails new projname
помощью? (После cd в папке projname иbundle install
)
Ответ №2:
Я начал получать эту ошибку после обновления моих драгоценных камней. Я попытался удалить ruby и все мои драгоценные камни, обновив rvm, но для меня решением оказалось обновление rubygems.
gem update --system