2014-01-31 61 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' 

任何想法?

更新

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

你在你的應用程序中使用捆紮機?如果是這樣,請檢查您是否已將'php-serialize'添加到'Gemfile'中。如果不是,你可以在你的問題中加入'gem env'和'shotgun'的結果嗎?另外,運行'shotgun -e'的結果是放入RUBY_VERSION「my_app.rb」可能很有用(顯然,將my_app.rb更改爲您的應用程序所調用的任何內容)。 – matt

+0

@matt補充說,我沒有使用打包機 –

回答

0

我們可以利用更多的上下文; 「引導錯誤」不是普通的Ruby消息。什麼是環境?

但是,當一個Ruby程序無法找到寶石,問題通常是其中之一:超過1.9

  1. 的Ruby版本少,你沒有require "rubygems"第一。

  2. 多個Ruby安裝和該程序正在使用與安裝gem不同的一個。

  3. 程序正在使用Bundler並且該gem不在Gemfile中。

  4. 寶石否則安裝在不同的$GEM_HOME比程序正在使用。

+0

是Sinatra。任何其他的寶石工作,php_serialize失敗!我在我的問題中添加了main.rb –

+1

然後我會猜測它是#2或#4。你的'gem'命令沒有在你的程序正在尋找的地方安裝'php_serialize'。 –

0

假設這是一個簡單的腳本,你不必捆紮機或任何其他寶石管理系統,你需要require 'rubygems'無需任何寶石之前。

main.rb

require 'rubygems' 
require 'php_serialize' 
+1

我嘗試過,但不起作用! –