2010-07-19 2 views
3

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

require 'readline' 

То есть.

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

+0

Необходимо добавить код, который вы используете, чтобы запустить герою или установить его в приложении? Также у вас установлен GIT, и вы создали приложение heroku в своем приложении rails? – Jimmy

+0

Я исправил его, но для записи у меня был установлен git, и у меня был установлен gemku gem, но если бы я просто набрал «героку» или «герою» или «герою», то он выплевывал бы свои ошибки , –

ответ

4

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

еще лучше было бы отказаться от системы Рубиновый вообще в пользу одной установленной с RVM

  1. Установка RVM, как описано here
  2. Установка libreadline-dev

    $ sudo apt-get install libreadline-dev

  3. Установить версия рубина (например, 1.8.7)

    $ rvm install 1.8.7

    $ rvm --default 1.8.7

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

    $ gem install rails heroku taps ... # Примечание нет Судо!

  5. Смотрите, если ваша проблема не устранена

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

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

    $ ruby extconf.rb

    $ make

    $ make install

2

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

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

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

+0

Это сработало отлично для меня :) – s3v3n

0

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

Смежные вопросы