Posts
2rails3 project init
安装msyql2 需要系统库libmysqlclient-dev 和 ruby1.9.1-dev libmysql-ruby1.9.1
nokogiri需要 libxml2-dev libxslt1-dev
readline需要 libreadline-dev
安装rmagick
需要 imagemagick libmagick9-dev
在wheezy版本中的3.2.0的linux内核系统下,需要libmagickwand-dev,而没有libmagick9-dev这个包了。
openssl 问题需要 libssl-dev
后来改用rvm安装ruby,每次换系统的时候都马上把ruby先装上,然后等运行rails的时候报错还的重新编译ruby
总结了一下,rvm装ruby之前,需要先apt安装好 libmysqlclient-dev libssl-dev libmagickwand-dev
curl https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
后来系统升级了,curl会报错
Could not download ‘https://github.com/wayneeseguin/rvm/tarball/master’.
curl returned status ‘141’.
是因为curl的安全设置不允许默认下载https的东西
需要 echo insecure » ~/.curlrc
Posts
之前的以项目运行不起来
unicorn启动提示rack版本不对,找了半天发现是之前把gem都freeze在vender/cache里了
重新bundle update之后更新所有的gem依赖包搞定
Posts
ruby脚本无法在crontab里运行的问题
昨天搞了大半天,弄了个rails3的non-browser程序,就当脚本运行
写了个bash脚本运行这个rb程序,按说把ruby xxx.rb直接放到cron里运行也行,不过由于运行时间间隔较短,可能出现重复运行的情况,放到bash脚本里,每次运行时先查一下进程里有没有运行这个脚本,如果没有则运行之。本来这个检测都交给ruby运行也可以,不过如果出现什么timeout的错误退出了就必须人工启动了。
写好之后,直接运行这个xxx.sh脚本运行这个xxx.rb程序,没有任何问题,但是放到crontab里就不行,来回调试,后来回家半夜了发现在cron里运行完xxx.rb之后的$?为1,然后仔细看了看我的xxx.rb
原来的写法是
终于想明白了原来在cron中运行的程序都必须取得绝对路径
照着config/application.rb里的写法,改成
正常运行了!