Problema Urgente!!! "add_frozen_gem_path"

37 views
Skip to first unread message

Diego Brito

unread,
Nov 12, 2009, 2:03:51 AM11/12/09
to rails-br
Bom Dia Pessoal,

Estou colocando um site no ar pela Locaweb, porém quando eu tento rodar o comando "rake db:migrate RAILS_ENV=production", para rodar as migrações no banco de produção, me retorna o seguinte erro via ssh: 

rake aborted!
undefined method `add_frozen_gem_path' for Rails::GemDependency:Class

Alguém já passou por isso??? Pelo que eu entendi a minha aplicação não sabe o caminho da pasta vendor com o Rails enpacotado... Alguém sabe como resolver????

Atenciosamente, 

Diego Brito 
Consultor em Marketing Estratégico

Blog Pessoal: www.diegobrito.com.br

Paulo Coutinho

unread,
Nov 12, 2009, 6:10:58 AM11/12/09
to rail...@googlegroups.com
Veja se não é o export  que você precisa fazer para apontar para sua pasta:

http://es.wiki.locaweb.com/es/Como_instalar_mis_Ruby_Gems%3F




2009/11/12 Diego Brito <diegod...@gmail.com>



--
Atenciosamente,
Paulo Coutinho.
Blog: www.prsolucoes.com/blog
Site: www.prsolucoes.com
Msn:  pa...@prsolucoes.com

Diego Brito

unread,
Nov 12, 2009, 10:40:26 AM11/12/09
to rail...@googlegroups.com
Olá Paulo,

Eu já conhecia esse tutorial. Mas ele é para instalar gems localmente lá na locaweb. No meu caso eu quero que o servidor deles reconheça a minha pasta vendor e o Rails + Gems que estão enpacotados. Eu imagino que deva adicionar alguma linha no Environments, mas não sei qual é :/

Alguém sabe?

Paulo Coutinho

unread,
Nov 14, 2009, 11:13:15 PM11/14/09
to rail...@googlegroups.com
Então, no tutorial tem assim:

Por padrão, o Ruby do sistema operacional tentará ainda carregar o Rubygems antigo instalado em /usr/lib/ruby/site_ruby/1.8. Para que ele dê prioridade ao que você acabou de instalar localmente edite o arquivo "~/bin/gem" e acrescente a seguinte linha na segunda linha do arquivo:

$LOAD_PATH.unshift "/home/railsdemo/lib"

Cheque que a versão como acima e que o binário sendo usado é o que você acabou de instalar:

which gem

Esse comando deveria devolver "/home/railsdemo/bin/gem".


e depois:

Daí você precisa fazer uma pequena modificação na sua aplicação Rails para que ele reconheça este diretório. Edite o arquivo 'config/environment.rb' e no final (antes de qualquer comando 'require') ponha as seguintes linhas:

ENV['GEM_PATH'] = '/home/railsdemo/.gems'
Gem.clear_paths

Isso fará com que sua aplicação passe a carregar as gems a partir do seu diretório local ".gems". Porém, devido a uma limitação do Phusion Passenger, o próprio Rails não pode ser instalado nesse diretório e requer que - se for necessário - seja congelado dentro do seu projeto como mostrado acima. Se já tiver gravado seu projeto no servidor, faça como neste exemplo:


Atenciosamente,
Paulo Coutinho.


2009/11/12 Diego Brito <diegod...@gmail.com>
Reply all
Reply to author
Forward
0 new messages