rake db:migrate. Em vários blogs e fóruns, achei sugestões para se atualizar o rake via apt-get. Porém a minha gem do rake estava atualizada e os pacotes instalados no Ubuntu também. O rake que eu usava, porém, - pelo menos assim eu pensava - era uma gem e não estava diretamente instalado no Linux. Ao contrário do que eu pensava, tinha sim um rake instalado no S.O. A solução foi remover o rake via apt-get. Quando fiz isso, o comando ruby desapareceu. Na verdade, apenas o link simbólico ruby --> ruby1.8 em /usr/bin foi excluído. Após tê-lo criado novamente, tudo funcionou bem.
terça-feira, 28 de julho de 2009
undefined method `reenable' for [environment]>:Rake::Task
Este estranho erro ocorria ao rodar
Marcadores:
erro,
gems,
infraestrutura,
rake
sexta-feira, 5 de junho de 2009
Configurar múltiplas aplicações Rails no mesmo servidor com mod_passenger (a.k.a. mod_rails)
No apache2.conf (aqui /etc/apache2/apache2.conf):
Dentro da pasta apontada como DocumentRoot, é necessário criar um link simbólico para a pasta public da aplicação Rails referenciada.
Além disto, você deve incluir na seção de configuração do config/environment.rb:
O problema com esta configuração no environment.rb é que ela serve apenas para o ambiente de produção. Porém, é possível criar uma solução genérica (extraída daqui) que resolve o problema sem a necessidade de mexer no environment.rb:
O único problema que ainda resta é que as imagens definidas no CSS - e se você é um desenvolvedor profissional, ou seja, usa padrões web, vai ter imagens definidas no CSS - é que arquivos CSS, até onde sei, são estáticos e os links serão diferentes nos ambientes development/test e production.
Uma solução que pensei agora rapidamente é criar um script que processe os CSS's e altere os links e que seja incluído nos recipes do Capistrano. Mas vou procurar um pouco mais pra ver se há uma solução dentro do Rails.
ServerName ip_do_servidor
DocumentRoot /home/rodrigo/desenvolvimento/temp # uma pasta que não é de app Rails
RailsBaseURI /myapp # sub-url da sua aplicação
Dentro da pasta apontada como DocumentRoot, é necessário criar um link simbólico para a pasta public da aplicação Rails referenciada.
Além disto, você deve incluir na seção de configuração do config/environment.rb:
config.action_controller.relative_url_root = "/myapp"O problema com esta configuração no environment.rb é que ela serve apenas para o ambiente de produção. Porém, é possível criar uma solução genérica (extraída daqui) que resolve o problema sem a necessidade de mexer no environment.rb:
# automatic relative_url_root fix
# for Phusion Passenger 2.2.2 and Rails 2.3.2 (>= 2.2.2)
# by pts@fazekas.hu at Mon May 4 20:48:38 CEST 2009
# from http://ptspts.blogspot.com/2009/05/how-to-fix-railsbaseuri-sub-uri-with.html
fail unless ActionController::Request # check loaded
module ActionController
class Request
def initialize(env)
@env = env # Rack::Request#initialize does only this
path = request_uri.to_s[/\A[^\?]*/]
sn = @env['SCRIPT_NAME']
if (RAILS_ENV == 'production' and
(sn.empty? or sn.starts_with?('/')) and
path == sn + @env['PATH_INFO'])
Base.relative_url_root = sn
end
end
end
end
O único problema que ainda resta é que as imagens definidas no CSS - e se você é um desenvolvedor profissional, ou seja, usa padrões web, vai ter imagens definidas no CSS - é que arquivos CSS, até onde sei, são estáticos e os links serão diferentes nos ambientes development/test e production.
Uma solução que pensei agora rapidamente é criar um script que processe os CSS's e altere os links e que seja incluído nos recipes do Capistrano. Mas vou procurar um pouco mais pra ver se há uma solução dentro do Rails.
Marcadores:
apache,
mod_passenger,
mod_rails,
rails
quarta-feira, 20 de maio de 2009
Erro maluco ao rodar .sh
Caso ao rodar um .sh você obtenha uma resposta como esta:
ou
O problema é que o arquivo tem caracteres de quebra de linha do Wndows. O Windows usa 2 caracteres para quebra de linha; o Linux apenas 1. Assim, esse caracter fica sobrando. Para solucionar isto, basta chamar
Caso não tenha o dos2unix instalado, digite (funcionou no Ubuntu)
/bin/bash^M: interpretador inválido: Arquivo ou diretório inexistenteou
/bin/sh^M: interpretador inválido: Arquivo ou diretório inexistenteO problema é que o arquivo tem caracteres de quebra de linha do Wndows. O Windows usa 2 caracteres para quebra de linha; o Linux apenas 1. Assim, esse caracter fica sobrando. Para solucionar isto, basta chamar
dos2unix nome-do-arquivo.shCaso não tenha o dos2unix instalado, digite (funcionou no Ubuntu)
apt-get install tofrodos
quarta-feira, 13 de maio de 2009
Extrair partes de data no SQL do Firebird
A função extract é usada para extrair partes de uma data no Firebird. Por exemplo:
extract(year from data_lancamento) extrai o ano do campo data_lancamento. O mesmo pode ser feito para month, day, hour, minute...
segunda-feira, 11 de maio de 2009
Instalação de Ruby, Rails e acesso ao PostGreSQL
$ sudo apt-get install ruby1.8 rubygems rubygems1.8 ruby1.8-dev libpq-dev make rake libopenssl-ruby1.8
$ sudo gem install rails
$ sudo gem install mongrelNo Ubuntu 8.10
$ sudo gem install postgresNo Ubuntu 9.04
$ sudo gem install ruby-pg
Marcadores:
instalação,
postgresql,
rails,
ruby,
ubuntu
segunda-feira, 4 de maio de 2009
Instalação do Tomcat no Linux
Depois de descompactar e configurar as variáveis de ambiente é preciso atribuir permissão de execucão aos 3 scritps abaixo. Os dois últimos não são executados diretamente e a mensagem de erro não indica que o problema está neles.
-startup.sh
-catalina.sh
-setclasspath.sh
-startup.sh
-catalina.sh
-setclasspath.sh
Marcadores:
java,
linux,
shell script,
tomcat
Reparação de bases de dados no Firebird 2.0
Sintaxe Geral
* gfix [options] -user -password [options]
1º Passo - (Dar um shutdown no database)
gfix -user SYSDBA -password masterkey /path/database.fdb -shut -force 0
2º Passo - (Validar o database)
gfix -user SYSDBA -password masterkey /path/database.fdb -v -f
3º Passo - (Reparar o database)
gfix -user SYSDBA -password masterkey /path/database.fdb -m -f -i
4º Passo - (Deixando o database online novamente)
gfix -user SYSDBA -password masterkey /path/database.fdb -online
Obs.: Repetir os passos 2 e 3 diversas vezes.
* gfix [options] -user -password [options]
1º Passo - (Dar um shutdown no database)
gfix -user SYSDBA -password masterkey /path/database.fdb -shut -force 0
2º Passo - (Validar o database)
gfix -user SYSDBA -password masterkey /path/database.fdb -v -f
3º Passo - (Reparar o database)
gfix -user SYSDBA -password masterkey /path/database.fdb -m -f -i
4º Passo - (Deixando o database online novamente)
gfix -user SYSDBA -password masterkey /path/database.fdb -online
Obs.: Repetir os passos 2 e 3 diversas vezes.
Marcadores:
banco de dados,
firebird,
recuperação de tragédias
Firebird com codificação WIN1252 com acentuação correta no Linux
Connection connection = DriverManager.getConnection("jdbc:firebirdsql://host/banco?lc_ctype=WIN1252",username, password);
Marcadores:
banco de dados,
encoding,
firebird
sexta-feira, 1 de maio de 2009
Definir senha para o usuário postgres
O SGBD PostGreSQL vem com um usuário padrão postgres. Para definir uma senha para ele:
Não sabe como definir a senha para o usuário postgres?
Não sabe a senha do root? Leia aqui.
$su - postgres
# entre com a senha do usuario postgres
$psql postgres
postgres=# alter user postgres with encrypted password 'digite-a-senha-aqui';Não sabe como definir a senha para o usuário postgres?
$su
# entre com a senha do root
$passwd postgres
# digite a senha desejadaNão sabe a senha do root? Leia aqui.
Definir senha do root no Ubuntu
$sudo su
# entre com a senha do seu usuário
$passwd
#entre com a senha que você quer para o root
# entre com a senha do seu usuário
$passwd
#entre com a senha que você quer para o root
quarta-feira, 22 de abril de 2009
Atualização do rubygems no Ubuntu 8.10
$ sudo gem install rubygems-update
$ cd /var/lib/gems/1.8/bin
$ sudo ./update_rubygems
Caso haja problemas com gems, é importante verificar por elas em:
~/.gem
ruby -e "puts $:"
$ cd /var/lib/gems/1.8/bin
$ sudo ./update_rubygems
Caso haja problemas com gems, é importante verificar por elas em:
~/.gem
ruby -e "puts $:"
Marcadores:
rails,
ruby,
troubleshooting,
ubuntu
quinta-feira, 8 de janeiro de 2009
Erro de Facelets no JBoss 5
Estou migrando uma aplicação para o JBoss 5 e ocorreu um erro muito estranho em uma aplicação que já funcionava e obtive o seguinte erro relativo ao Facelets no log do JBoss:
Procurando daqui e dali na Internet, encontrei um bug report a respeito. A solução apontada, substituir o Facelets por uma versão mais recente, funcionou bem aqui.
18:31:45,863 ERROR [compiler] Missing Built-in Tag Libraries! Make sure they are included within the META-INF directory of Facelets' JarProcurando daqui e dali na Internet, encontrei um bug report a respeito. A solução apontada, substituir o Facelets por uma versão mais recente, funcionou bem aqui.
segunda-feira, 17 de novembro de 2008
Remover arquivos do controle de versões do Subversion
Há uma pasta oculta no home chamada '.subversion'. Dentro desta pasta há um arquivo chamado 'config' no qual se devem inserir os arquivos (ou máscaras) a serem ignorados no item 'global-ignores'. Por exemplo:
global-ignores = .project .classpath *.class build .settings *.jardesc
Marcadores:
controle de versão,
integração contínua
quinta-feira, 6 de novembro de 2008
Que troço é esse?
Saco de coisas é um blog criado de mim para mim, para guardar soluções e receitas de bolo para resolver coisas não muito importantes mas que enchem o saco. Um guia de referência rápida para problemas que enfrento no dia-a-dia. Algumas coisas serão certamente ridiculamente simples, outras ainda mais. Enfim, este é um blog que, em tese, não vale muita coisa. Se alguém chegar a ser ajudado por algo que está aqui, fico feliz.
Coisas que serão encontradas por aqui:
- dicas curtas e grossas para resolver pequenos problemas
- lembretes de configurações e outras coisas chatas
- chaves de fenda, tesouras, alicates: coisinhas de merda que podem te tirar de um aperto
Coisas que nunca serão encontradas por aqui:
- discussões
- profundidades
- software proprietário
Coisas que serão encontradas por aqui:
- dicas curtas e grossas para resolver pequenos problemas
- lembretes de configurações e outras coisas chatas
- chaves de fenda, tesouras, alicates: coisinhas de merda que podem te tirar de um aperto
Coisas que nunca serão encontradas por aqui:
- discussões
- profundidades
- software proprietário
Marcadores:
eu procurava uma coisa boa mas achei este blog
Assinar:
Postagens (Atom)