Rails new <app> или rails -h craps out с не может загрузить такой файл - io/console
[[email protected] rails]$ rails -h
/usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- io/console (LoadError)
from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/share/ruby/gems/2.0/gems/thor-0.19.1/lib/thor/shell/basic.rb:2:in `<top (required)>'
from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/share/ruby/gems/2.0/gems/thor-0.19.1/lib/thor/shell/color.rb:1:in `<top (required)>'
from /usr/local/share/ruby/gems/2.0/gems/thor-0.19.1/lib/thor/shell.rb:17:in `shell'
from /usr/local/share/ruby/gems/2.0/gems/thor-0.19.1/lib/thor/base.rb:439:in `start'
from /usr/local/share/ruby/gems/2.0/gems/railties-4.1.0/lib/rails/commands/application.rb:17:in `<top (required)>'
from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/share/ruby/gems/2.0/gems/railties-4.1.0/lib/rails/cli.rb:14:in `<top (required)>'
from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/share/ruby/gems/2.0/gems/railties-4.1.0/bin/rails:9:in `<top (required)>'
from /usr/local/bin/rails:23:in `load'
from /usr/local/bin/rails:23:in `<main>'
Я установил Ruby on Rails, используя установочные рельсы $gem, и он также завершился отлично. Я проверил статус процесса с помощью $echo $? и это было 0, означающее успех.
Интересно, что эти две команды работают нормально:
$ which rails
/usr/local/bin/rails
$ rails -v
Rails 4.1.0
Это 64-битное изображение AMI Web-сервисов Amazon. Пожалуйста, помогите мне понять это.
У меня установлен пакет:
$ gem install bundler
Fetching: bundler-1.6.2.gem (100%)
Successfully installed bundler-1.6.2
Parsing documentation for bundler-1.6.2
Installing ri documentation for bundler-1.6.2
Done installing documentation for bundler after 5 seconds
1 gem installed
Я проверил наличие дубликатов:
$ find / 2>/dev/null| grep bin/ruby
/usr/bin/ruby
/usr/bin/ruby2.0
$ find / 2>/dev/null| grep bin/rails
/usr/local/share/ruby/gems/2.0/gems/railties-4.1.0/bin/rails
/usr/local/share/ruby/gems/2.0/gems/railties-4.1.0/lib/rails/generators/rails/plugin/templates/bin/rails.tt
/usr/local/share/ruby/gems/2.0/gems/railties-4.1.0/lib/rails/generators/rails/app/templates/bin/rails
/usr/local/share/ruby/gems/2.0/gems/rails-4.1.0/guides/code/getting_started/bin/rails
/usr/local/bin/rails
/home/ec2-user/.gem/ruby/2.0/gems/rails-4.1.0/guides/code/getting_started/bin/rails
Ответы
Ответ 1
Итак, я решил это в ту же ночь, но каким-то образом Stackoverflow не отправил мне никаких уведомлений о ответах на вопрос, поэтому я не знал об этих ответах. Это то, что я закончил делать. Фактически он удалял рубин на рельсах и устанавливал его с нуля. Это было на сервере веб-сервисов Amazon - вкус linux.
sudo yum update
$wget https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer
$ bash -s stable < rvm-installer
$ source /home/ec2-user/.rvm/scripts/rvm
$ rvm requirements
$ sudo yum erase ruby
$ rvm install ruby
$ rvm use ruby --default
$ rvm rubygems current
$ gem install rails # this takes forever
После этого он работал отлично.
Ответ 2
Вам нужно будет установить io-console gem
. Установите его, используя следующую команду:
gem install io-console
После этого прогона rails -h
Кроме того, запустите echo $PATH
и убедитесь, что у вас есть /usr/local/bin
в пути. Если нет, тогда вам нужно будет добавить его.
Ответ 3
У меня была точно такая же проблема на AWAS Elastic Beanstalk (Puma, Ruby 2, Rails 4.0):
> rails generate simple_form:install --bootstrap
/usr/local/share/ruby/gems/2.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require': cannot load such file -- io/console (LoadError)
Я просто добавил:
gem 'io-console'
Наверху моего Gemfile и запущен пакет снова установить на коробке для больших успехов. Надеюсь, что быстрее, чем переустанавливать рельсы для всех, кто работает с этим.
Ответ 4
Спасибо; вам действительно нужна io-console. Чтобы выполнить эту работу, установите GCC. Отдых необходимо позже:
yum -y install gcc mysql-devel ImageMagick-devel
Затем
gem install io-console
работает, и я могу продолжить установку.