Установка Heroku на Ubuntu Lucid Lynx не работает

Я пытаюсь где-нибудь бесплатно разместить приложение Ruby on Rails, и Heroku выглядит как мой последний ресурс. Предполагается, что он работает в Linux, и гем устанавливается без ошибок, но всякий раз, когда я запускаю любую команду Heroku, он выдает несколько ошибок, все связаны, и говорят о неудачном «требовании». Я посмотрел это в коде, и он говорит:

require 'readline'  

Вот и все.

Я пытался установить все варианты libreadline, которые только мог найти и придумать, но ни один из них не имеет никакого значения. Любые идеи здесь?


person QuixoticForsooth    schedule 19.07.2010    source источник
comment
хотите добавить код, который вы используете для запуска heroku или установить его в приложении? Также у вас установлен GIT и вы создали приложение heroku в своем приложении rails?   -  person Jimmy    schedule 19.07.2010
comment
Я исправил это, но для протокола: у меня был установлен git, и у меня был установлен гем heroku, но если я просто набрал «heroku», «heroku help» или «heroku» что-нибудь, он выдал бы свои ошибки.   -  person QuixoticForsooth    schedule 20.07.2010


Ответы (3)


Возможно, установленная в вашей системе версия Ruby не поддерживает readline. Если это так, вы можете переустановить его из исходного кода и выбрать правильные параметры configure для поддержки строки чтения. Это не только раздражает, но и означает, что вам придется вручную поддерживать обновления самостоятельно.

Еще лучше было бы полностью отказаться от системного Ruby в пользу одного, установленного с RVM.

  1. Установите RVM, как описано здесь
  2. Установить libreadline-dev

    $ sudo apt-get install libreadline-dev

  3. Установите версию ruby ​​(например, 1.8.7)

    $ rvm install 1.8.7

    $ rvm --default 1.8.7

  4. Установите свои рельсы и драгоценные камни Heroku под рубином RVM

    $ gem install rails heroku taps ... # Обратите внимание, нет sudo!

  5. Посмотрите, сохраняется ли ваша проблема

  6. Если да, то сделайте так:

    $ cd ~/.rvm/src/ruby-1.8.7-p299/ext/readline

    $ ruby extconf.rb

    $ make

    $ make install

person bjg    schedule 19.07.2010

ruby-full package зависит от libreadline-ruby и должен включать в себя все, что вы и это нужно. Если вы пытались установить ruby, установив несколько отдельных пакетов, возможно, вы что-то упустили. Если это так, вернитесь и установите ruby-full.

У меня есть скрипт, который я использую для перестроения среды Rails при каждой установке последняя Убунта. Он также устанавливает все, что вам нужно для Heroku (где я размещаю свои приложения). Возможно, вы захотите взглянуть на него и посмотреть, есть ли там что-то, чего вам не хватает.

Если ruby-full вас не устроит, я бы поддержал совет Bjg и отказался от системного ruby ​​в пользу RVM.

person mikewilliamson    schedule 19.07.2010

Я заставил его работать, но это был скорее взлом. Я нашел файл readline.so там, где он был установлен (в каком-то странном месте), и сделал жесткую ссылку на место, где ruby ​​искал readline, и это сработало. Не оптимально, и я обязательно попробую то, что вы, ребята, порекомендовали в следующий раз. Спасибо!

person QuixoticForsooth    schedule 20.07.2010