论坛首页 编程语言技术论坛

在Linux平台上安装和配置Ruby on Rails详解

浏览 135899 次
该帖已经被评为良好帖
作者 正文
   发表时间:2007-06-13  
wtb 写道
随便提一下lighttpd要pcre-devel包(系统默认可能只安装了pcre包,而没装pcre-devel包)



又节约好多摸索的时间。
0 请登录后投票
   发表时间:2007-06-13  
瞎折腾了好几天,反复地使用apt-get 和 tar包安装,到头来到底里面遗留下几个版本的ruby/rubygems/rails都忘了。在Ubuntu下想彻底地把所有装过的这些版本,该怎么作才能清除干净好重新安装?

我按robbin的安装方法去作,装完rails后用whereis rails查看得到:/usr/local/bin/rails,
明显包含在我的PATH里面,于是用rails -v 查看rails的版本,结果提示:

/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:10:in `require': no such file to load -- digest/sha2 (LoadError)
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:10
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:461:in `require'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:461
        from /usr/local/bin/rails:9:in `require'
        from /usr/local/bin/rails:9

请问这个问题怎么解决?
我装了几次rails,都提示类似的信息,LoadError的原因是什么?
0 请登录后投票
   发表时间:2007-06-13  
我尝试着用sudo rails -v ,结果返回正确的版本号Rails 1.2.3 !
然而用普通用户就不行.
rails test 失败,sudo rails test则成功地在当前目录下新建了test.
同样地需要使用sudo 才能在script子目录下启动server script运行服务器!

请问怎样才能让我使用普通权限就可以运行rails?
0 请登录后投票
   发表时间:2007-06-14  
strawman81 写道
我尝试着用sudo rails -v ,结果返回正确的版本号Rails 1.2.3 !
然而用普通用户就不行.
rails test 失败,sudo rails test则成功地在当前目录下新建了test.
同样地需要使用sudo 才能在script子目录下启动server script运行服务器!

请问怎样才能让我使用普通权限就可以运行rails?



看看你root用户口环境变量和你登入系统的环境变量是不是不一样?
如果你在安装过程中添加了或修改了某些环境变量,建议你放在/etc/profile中,除非很明确的知道它只某个用户服务,否则都放在/etc/profile中,确保所有的用户都能得到。
如果不行,
试试chmod 755  rubydir  -R
或者像我干脆就讲ruby/rails等的所有文件的属主改成我登入系统的用户
chown    wtb.wtb    rubydir   -R
0 请登录后投票
   发表时间:2007-06-14  
我在/etc/profile里把ruby目录下的bin添加到PATH了,但在shell下用普通用户和root分别执行echo $PATH得到的结果是普通用户显示了ruby的路径,而root却没显示那部分,ctrl+alt+backspace重启X还是不行,于是我按出错提示把/usr/local/lib/ruby/这个目录改为我所有,还有/usr/local/ruby一并改了,试了一下,可以显示版本了,rails test测试了一下,建立成功,再到scripts里运行./server,居然说找不到rails gem .于是又按提示gem install -v=1.2.3 rails.完毕后重新执行,/.server,成功!
不好意思robbin,我是不是扯远了?
0 请登录后投票
   发表时间:2007-06-14  
楼上的wtb兄,
对于lighttpd:
编译后配置:
cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf

Ubuntu下没有sysconfig目录,也应该照做吗?还是cp到别的地方?
0 请登录后投票
   发表时间:2007-06-15  
strawman81 写道
楼上的wtb兄,
对于lighttpd:
编译后配置:
cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf

Ubuntu下没有sysconfig目录,也应该照做吗?还是cp到别的地方?

是的,你启动lighttpd的时候用
  lighttpddir/sbin/lighttpd   -D  -f /etc/lighttpd/lighttpd.conf  运行,所有错误提示都会出来,这会提示很多目录/文件不存在,需要去手工建,而且建好了还要把这个目录的属主改成lighttpd的运行用户(即lighttpd.conf中的user所指定的用户)
,不同的环境有不同的情况出现。理解 robbin这遍文章的每一步的意图,根据本机的特点,相应的去实现。
建议每一步都去看看官文网站或软件自带的帮助。而不是一味的按照别人打的命令 在你的机器运行。
0 请登录后投票
   发表时间:2007-07-04  

debian sarge 3.1
ruby 1.8.6
lighttpd lighttpd-1.4.15


lighttpd 显示500错误页面的解决办法,但是查看日志又看不到任何错误,于是上网google

原来是忘记做一步了。

#find /usr/local/ -name fcgi.so -print
#echo "/usr/local/ruby/lib/ruby/site_ruby/1.8/i686-linux/fcgi.so" >> /etc/ld.so.conf
#ldconfig


再重启,就出来

#/etc/init.d/lighttpd start
Starting lighttpd2007-07-04 22:24:11: (mod_fastcgi.c.998) execve failed for: /www/railsapp/mydoc/public/dispatch.fcgi Permission denied
linux:/var/log# 2007-07-04 22:24:11: (mod_fastcgi.c.1024) the fastcgi-backend /www/railsapp/mydoc/public/dispatch.fcgi failed to start:
2007-07-04 22:24:11: (mod_fastcgi.c.1028) child exited with status 13 /www/railsapp/mydoc/public/dispatch.fcgi
2007-07-04 22:24:11: (mod_fastcgi.c.1031) if you try do run PHP as FastCGI backend make sure you use the FastCGI enabled version.
You can find out if it is the right one by executing 'php -v' and it should display '(cgi-fcgi)' in the output, NOT (cgi) NOR (cli)
For more information check http://www.lighttpd.net/documentation/fastcgi.html#preparing-php-as-a-fastcgi-program
2007-07-04 22:24:11: (mod_fastcgi.c.1333) [ERROR]: spawning fcgi failed.
2007-07-04 22:24:11: (server.c.849) Configuration of plugins failed. Going down.


终于看到错误信息。剩下就是根据错误信息再去解决问题了,就好解决了。


原来是没有执行权限。

#chmod u+x /www/railsapp/mydoc/public/dispatch.fcgi


继续
#/etc/init.d/lighttpd start

又报下面错误:

2007-07-04 22:32:53: (mod_fastcgi.c.998) execve failed for: /www/railsapp/mydoc/public/dispatch.fcgi No such file or directory
2007-07-04 22:32:53: (mod_fastcgi.c.1024) the fastcgi-backend /www/railsapp/mydoc/public/dispatch.fcgi failed to start:
2007-07-04 22:32:53: (mod_fastcgi.c.1028) child exited with status 2 /www/railsapp/mydoc/public/dispatch.fcgi
2007-07-04 22:32:53: (mod_fastcgi.c.1031) if you try do run PHP as FastCGI backend make sure you use the FastCGI enabled version.
You can find out if it is the right one by executing 'php -v' and it should display '(cgi-fcgi)' in the output, NOT (cgi) NOR (cli)
For more information check http://www.lighttpd.net/documentation/fastcgi.html#preparing-php-as-a-fastcgi-program
2007-07-04 22:32:53: (mod_fastcgi.c.1333) [ERROR]: spawning fcgi failed.
2007-07-04 22:32:53: (server.c.849) Configuration of plugins failed. Going down.


可是我的文件是存在的,而且也有执行权限了。继续google,找了一贴。http://trac.lighttpd.net/trac/ticket/1079 

我想会不会我也有这个问题,一看,果然。

vi dispatch.fcgi
把第一行改成 #!/usr/bin/ruby

并且到/usr/bin下
#cd /usr/bin
#ln -s /usr/local/ruby/bin/ruby ruby
#ruby -v

继续
#/etc/init.d/lighttpd start

Starting lighttpd! OK,搞定。
0 请登录后投票
   发表时间:2007-07-19  
在安装RMagick的时候遇上
configure: error: Cant install RMagick. Cant find magick-config or Graphics-magick-config program.

这个到底是怎么回事啊
0 请登录后投票
   发表时间:2007-07-20  
编译mysql-ruby 是提示找不到mysql.o 文件??

0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics