Rubygems laden edelsteen niet

Ik heb slim edelsteen geïnstalleerd in een eigen aangepaste directory, maar ik heb 'slim' nodig om een ​​foutmelding te geven.

Slim installeren:

$ cd /var/www
$ mkdir project
$ cd project/
$ gem install slim -i gems/
Fetching: temple-0.4.0.gem (100%)
Fetching: slim-1.2.2.gem (100%)
Successfully installed temple-0.4.0
Successfully installed slim-1.2.2
2 gems installed
Installing ri documentation for temple-0.4.0...
Installing ri documentation for slim-1.2.2...
Installing RDoc documentation for temple-0.4.0...
Installing RDoc documentation for slim-1.2.2...
$ ls gems/
bin/            doc/            specifications/ 
cache/          gems/           
$ ls gems/gems/
slim-1.2.2  temple-0.4.0
$ ls gems/gems/slim-1.2.2/
benchmarks  CHANGES  lib      Rakefile   slim.gemspec
bin         Gemfile  LICENSE  README.md  test
$ ls gems/gems/slim-1.2.2/lib/
slim  slim.rb

Gem-omgeving (als u merkt dat ik /var/www/project/edelstenen aan GEM_PATH heb toegevoegd):

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.11
  - ruby VERSION: 1.9.2 (2010-08-18 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.9.1
  - ruby EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/1.9.1
     - /home/john/.gem/ruby/1.9.1
     - /var/www/project/gems
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gempath" => ["/usr/local/lib/ruby/gems/1.9.1", "/home/john/.gem/ruby/1.9.1", "/var/www/project/gems"]
  - REMOTE SOURCES:
     - http://rubygems.org/

testen:

$ irb
irb(main):001:0> require 'slim'
LoadError: no such file to load -- slim
    from :29:in `require'
    from :29:in `require'
    from (irb):1
    from /usr/local/bin/irb:12:in `
'

Enig idee wat is er aan de hand? Ik heb /var/www/project/edelstenen in GEM_PATH toegevoegd maar vereist 'slim' laadt het juweel niet, waarom niet? Is dit een bug met rubygems?

Zelfde probleem wanneer ik schrijf vereisen 'slank' in /var/www/project/index.rb en ruby ​​index.rb .

0
Ik heb het pad toegevoegd aan GEM_PATH.
toegevoegd de auteur user1437328, de bron
Waarom probeer je het juweel op een niet-standaardlocatie te installeren? Heeft u een speciale reden om dit te doen? Ruby's vereisen pad weet niet waar de edelsteen is, dus je moet het vertellen.
toegevoegd de auteur the Tin Man, de bron

2 antwoord

Ik raad ten zeerste aan om bundler te gebruiken, die niet alleen dit namens u beheert, maar ook pinning en implementatie van de versie.

The relevant invocation would be; in Gemfile

source :rubygems
gem "slim"

En dan

gem install bundler && bundle install && bundle exec irb

Op welk punt vereist dat 'slim' werkt.

3
toegevoegd

Omdat je slank installeert op /var/www/project/edelstenen/, moet je het toevoegen aan het laadpad of het op volledig pad vereisen:

require '/var/www/project/gems/slim'

of voeg het toe aan uw laadpad:

$LOAD_PATH.unshift(File.dirname('/var/www/project/gems/'))
1
toegevoegd
Maar ik heb /var/www/project/edelstenen toegevoegd aan GEM_PATH, waarom won 'dat werk?
toegevoegd de auteur user1437328, de bron
Rubygems is automatisch vereist door ruby 1.9+ en door IRB in ruby 1.9+
toegevoegd de auteur the Tin Man, de bron
Op irb (en gezien robijn 1.9.1) denk ik dat je robijn edelstenen moet hebben vereisen 'rubyGems'
toegevoegd de auteur Amir, de bron
Bedankt, was daar niet zeker van.
toegevoegd de auteur Amir, de bron