rubygems не работает на Synology DS209 - PullRequest
4 голосов
/ 29 марта 2012

Я пытаюсь установить Ruby on Rails на свой Synology DS209, используя инструкции на http://wiki.joachimschuster.de/index.php/Install_Ruby_on_Rails_and_Redmine_on_DS210%2B. У меня проверены все предварительные требования (кроме пользователя redmine, который, я полагаю, не является проблемой) и пакеты rubygems и zlib отлично устанавливаются через ipkg.

Однако, когда я запускаю gem, я получаю следующие ошибки:

DiskStation> gem
/opt/bin/gem: line 8: require: not found
/opt/bin/gem: line 9: require: not found
/opt/bin/gem: line 10: require: not found
/opt/bin/gem: line 12: required_version: not found
/opt/bin/gem: line 14: unless: not found
/opt/bin/gem: line 15: abort: not found
/opt/bin/gem: line 16: end: not found
/opt/bin/gem: line 21: syntax error: unexpected "("
DiskStation>

Есть предложения?

EDIT: Удаление и переустановка rubygems показало следующее:

DiskStation> ipkg remove -force-removal-of-dependent-packages ruby
Removing package rubygems from root...
Removing package ruby from root...
Successfully terminated.
DiskStation> ipkg install rubygems
Installing rubygems (1.1.1-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/rubygems_1.1.1-1_arm.ipk
Installing ruby (1.9.1.243-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ruby_1.9.1.243-1_arm.ipk
Configuring apache
update-alternatives: Linking //opt/sbin/htpasswd to /opt/sbin/apache-htpasswd
update-alternatives: Linking //opt/sbin/httpd to /opt/sbin/apache-httpd
httpd: Syntax error on line 75 of /opt/etc/apache2/httpd.conf: Cannot load     /opt/libexec/mod_ext_filter.so into server: /opt/libexec/mod_ext_filter.so: undefined symbol: apr_procattr_limit_set
httpd: Syntax error on line 75 of /opt/etc/apache2/httpd.conf: Cannot load /opt/libexec/mod_ext_filter.so into server: /opt/libexec/mod_ext_filter.so: undefined symbol: apr_procattr_limit_set
postinst script returned status 1
ERROR: apache.postinst returned 1
Configuring ruby
Configuring rubygems
Successfully terminated.

Ответы [ 2 ]

7 голосов
/ 31 марта 2012

У меня та же проблема ..

gem - это файл сценария, и если вы видите внутри, он вызывает ruby, например, "#! / Opt / bin / ruby".Давайте посмотрим "/ opt / bin / ruby" !!это также файл сценария, который вызывает «#! / opt / bin / ruby».

Это бессмысленно ...

Я думаю, что при установке пакетов возникает ошибка .. Наверхдо сих пор у меня нет решения ...

Я нашел решение ... Установите ruby ​​снова.

ipkg install ruby -force-reinstall

после этого у вас есть двоичный файл ruby.

Если вы пытаетесь выполнить redmine в DSM 4.0, для установки rails требуется libcrypto.so.0.9.8, которого нет на вашем NAS.Сделайте копию с /usr/lib/libcrypto.so.1.0.0, и вы сделаете это.

1 голос
/ 12 октября 2012

Спасибо за все ответы, этого было достаточно для Ruby, но мне пришлось сделать немного больше, чтобы установить rails 2.3.5 (я также хотел получить Redmine на моем DS209 +; я рад сообщить, что это работает для меня).

Я пробовал это (с этого веб-сайта: http://ash -ride.blogspot.ca / 2010/09 / redmine.html ) gem install rails -v 2.3.5

Но все, что я получил, было:

ERROR:  Error installing rails:
        rake requires RubyGems version >= 1.3.2

Так вот как я обошел и установил рельсы:

  1. gem install rack -v 1.0.1
  2. wget http://rubyforge.org/frs/download.php/55066/rubygems-1.3.2.tgz
  3. tar xvzf rubygems-1.3.2.tgz
  4. cd rubygems-1.3.2
  5. ruby ​​setup.rb
  6. gem install rails -v 2.3.5

И бинго, рабочая копия рельсов с DSM 4.0-2198 на DS209 +. Не уверен, что мне нужно было сначала установить стойку, но эй, это работает! Последними шагами для Redmine являются установка коннектора MySQL и загрузка RedMine (см. Ссылку на blogspot).

Спасибо за трюк на libcrypto.so.0.9.8. Мне пришлось сделать то же самое при копировании libssl.so.1.0.0 в libssl.so.0.9.8 (требуется для сценария базы данных).

...