Установка Heroku на Ubuntu Lucid Lynx не работает - PullRequest
3 голосов
/ 19 июля 2010

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

require 'readline'  

Вот и все.

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

Ответы [ 3 ]

4 голосов
/ 19 июля 2010

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

Лучше было бы вообще отказаться от вашей системы 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

2 голосов
/ 20 июля 2010

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

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

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

0 голосов
/ 20 июля 2010

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

...