2016-06-14 14 views
20

Sto lavorando all'applicazione Rails 2.2.2. Per questo ho installato rvm con la versione 1.9.3p551 di Ruby. Non c'è Gemfile per questa applicazione. Così come detto nel file environment.rb ho creato un Gemfile con rails e sqlite3. Durante l'esecuzione di rake db: create, sto affrontando il seguente problema.Rails 2.2.2 issue: metodo non definito `activate_bin_path 'per Gem: Module (NoMethodError)

[email protected]:~/Desktop/practice/store$ rake db:create 
/home/whoami/.rvm/gems/ruby-1.9.3-p551/bin/rake:22:in `<main>': undefined method `activate_bin_path' for Gem:Module (NoMethodError) 
    from /home/whoami/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `eval' 
    from /home/whoami/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `<main>' 

Per favore aiutatemi.

risposta

47

Per me, (sto lavorando con RVM) ha funzionato solo in esecuzione:

gem update --system 
gem update bundler 
+0

Questo funziona anche per Rails 4.2.7.1 e Ruby 2.3.1. – Zek

+1

Grazie! Appena confermato con Rails 5.0.0.1 e Ruby 2.3.1 anche. –

+0

Questo risolve il problema – neo

1

Hai provato questi comandi

Rename/usr/lib/ruby ​​/ site_ruby/a site_ruby.bak/ Eseguire i seguenti comandi:

gem install rubygems-update 
enter code here 
update_rubygems 

Se si ottiene l'errore quindi provare il seguente invece :

rubino --disable-gemme -S update_rubygems

+0

Sto usando rvm e non esiste una cartella/file site_ruby. – user3189916

+0

è necessario controllare dove è installato il ruby ​​ –

0

Provare attraversano la bundle

cd myapp 
gem install bundler 
bundle install 
bundle exec rake db:create 
1

ho avuto un problema simile, quando si esegue il standalone passenger, ha funzionato bene. Tuttavia, l'esecuzione utilizzando un servizio di systemd ha dato lo stesso errore come il PO:

undefined method `activate_bin_path' for Gem:Module (NoMethodError) 

sono riuscito a risolverlo utilizzando

env | egrep 'gem|rvm|ruby' > passenger.env 

e aggiungendolo al file servizio utilizzando EnvironmentFile=[...]/passenger.env.

Speriamo che questo sia utile per altre persone bloccate su questo.

+0

grazie. questo ha risolto il mio problema. Sai perché questo sta accadendo? La mia esperienza finora con systemd è stata deludente, e voglio tornare al punto di partenza. – redgetan

+0

È perché le variabili di ambiente non erano visibili a 'systemd', ma non so quale sia la causa principale. – dimid

Problemi correlati