2014-01-31 3 views
0

Я пытаюсь использовать эту перл:php_serialize камень не загружается

PHP Serialize

I Тип

gem install php-serialize 

и в моем приложении main.rb Рубина

require 'php_serialize' 

Результаты:

Boot Error 

Something went wrong while loading main.rb 

LoadError: cannot load such file -- php_serialize 

Среда Синатра, и в моем main.rb у меня есть:

require 'rubygems' 
require 'sanitize' 
require 'sinatra' 
require 'active_record' 
require 'nokogiri' 
require 'open-uri' 
require 'uri' 
require 'pry' 
require 'chronic' 
require 'json' 
require 'zip' 
require 'php_serialize' 

Любая идея?

Update

RubyGems Environment: 
    - RUBYGEMS VERSION: 2.1.11 
    - RUBY VERSION: 2.0.0 (2013-11-22 patchlevel 353) [x86_64-darwin13.0.0] 
    - INSTALLATION DIRECTORY: /Users/scrivoaroby/.rvm/gems/ruby-2.0.0-p353 
    - RUBY EXECUTABLE: /Users/scrivoaroby/.rvm/rubies/ruby-2.0.0-p353/bin/ruby 
    - EXECUTABLE DIRECTORY: /Users/scrivoaroby/.rvm/gems/ruby-2.0.0-p353/bin 
    - SPEC CACHE DIRECTORY: /Users/scrivoaroby/.gem/specs 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-darwin-13 
    - GEM PATHS: 
    - /Users/scrivoaroby/.rvm/gems/ruby-2.0.0-p353 
    - /Users/scrivoaroby/.rvm/gems/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - /Users/scrivoaroby/.rvm/gems/ruby-2.0.0-p353/bin 
    - /Users/scrivoaroby/.rvm/gems/[email protected]/bin 
    - /Users/scrivoaroby/.rvm/rubies/ruby-2.0.0-p353/bin 
    - /Users/scrivoaroby/.rvm/bin 
    - /usr/local/git/bin 
    - /usr/bin 
    - /bin 
    - /usr/sbin 
    - /sbin 
    - /usr/local/bin 
    - /usr/local/git/bin 
    - /opt/ImageMagick/bin 

Какой дробовик

/Users/scrivoaroby/.rvm/gems/ruby-2.0.0-p353/bin/shotgun 

    2.0.0 
== Shotgun/Thin on http://127.0.0.1:9393/ 
Thin web server (v1.6.1 codename Death Proof) 
Maximum connections set to 1024 
Listening on 127.0.0.1:9393, CTRL+C to stop 
+0

Вы используете Bundler в вашем приложении? Если это так, вы добавили 'php-serialize' в свой' Gemfile'. Если вы не можете добавить к вашему вопросу результат 'gem env' и' which shotgun'? Также результат запуска 'shotgun -e 'помещает RUBY_VERSION" my_app.rb' может быть полезным (очевидно, измените 'my_app.rb' на то, что вы вызываете). – matt

+0

@matt добавил, я не использую bundler –

ответ

0

Мы могли бы использовать больше контекста; «Ошибка загрузки» не является простым сообщением Ruby. Какая среда?

Но когда программа Руби не может найти драгоценный камень, проблема, как правило, один из них:

  1. рубин версия меньше, чем 1,9, и вы сделали не require "rubygems" первым.

  2. Несколько установок Ruby и программа использует другую, отличную от той, где вы установили драгоценный камень.

  3. Программа использует Bundler, а камень не находится в Gemfile.

  4. Gem иначе установлен в другом $GEM_HOME, чем программа использует.

+0

is Sinatra. Любой другой камень работает, php_serialize терпит неудачу! Я добавил в свой вопрос main.rb –

+1

Тогда я собираюсь угадать, что это # ​​2 или # 4. Ваша команда 'gem' не установила' php_serialize', где ваша программа ее ищет. –

0

Предполагая, что это простой сценарий, где у вас нет Bundler или любой другой системы управления камнем, вам нужно require 'rubygems' прежде чем требовать какого-либо камня.

В main.rb

require 'rubygems' 
require 'php_serialize' 
+1

Прошу, но это не сработает! –

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