对Rails 3,RVM,宝石疯狂

时间:2010-09-15 23:46:47

标签: ruby-on-rails ruby-on-rails-3 sqlite

编辑: 请注意,此问题已过时; RVM现在更容易使用。所以这个问题/解决方案不再适用。

这个问题对我来说很难描述,所以对它的任何改进都会很好。

我目前使用的是Ubuntu 10.4,我已经安装了RVM(可能是root用户,这可能是我的错误)

我做了本指南告诉我要做的事情:http://rubyonrails.dreamwidth.org/1713.html从我的观点来看,它有效。

我能够无痛地在Rails 3上创建一个项目,是的

但是当我启动服务器或控制台时: Could not find gem 'sqlite3-ruby (>= 0, runtime)' in any of the gem sources.

我试过:sudo gem install sqlite3-ruby所有输出都失败了:

/usr/bin/ruby1.8 extconf.rb
extconf.rb:3:in `require': no such file to load -- mkmf (LoadError)

即使在Ubuntu上安装了很多开发包之后,仍然失败了。所以我跑了:sudo gem1.9 install sqlite3-ruby并成功了!

现在,我尝试运行我的服务器,但仍然得到相同的错误!我的猜测是我必须设置gem = gem1.9,但我不知道如何=(

更新:

fps ~ $ ls /var/lib/gems
# 1.8  1.9  1.9.0
fps ~ $ ls /var/lib/gems/1.8/gems
# actionmailer-2.3.5  activeresource-2.3.5  builder-2.1.2  rake-0.8.7
# actionpack-2.3.5    activesupport-2.3.5   rack-1.0.1     rubygems-update-1.3.7
# activerecord-2.3.5  activesupport-3.0.0   rails-2.3.5
fps ~ $ ls /var/lib/gems/1.9/gems
# ls: cannot access /var/lib/gems/1.9/gems: No such file or directory
fps ~ $ ls /var/lib/gems/1.9.0/gems
# sqlite3-ruby-1.3.1

UPDATE2
跟着@“The MYYN”和@“ennuikiller”的步骤,结果如下:

fps ~ $ sudo rvm gem install sqlite3-ruby
[sudo] password for fps: 

info: ruby-1.8.7-p302: ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux] 
#...
1 gem installed
#...
info: ruby-1.9.2-head: ruby 1.9.2p0 (2010-09-15 revision 29252) [i686-linux] 

Building native extensions.  This could take a while...
Successfully installed sqlite3-ruby-1.3.1

并观看了railscasts / 201 Bundler

fps ~/Aptana Studio 3 Workspace/dum $ bundle install
Fetching source index for http://rubygems.org/
#...
Using railties (3.0.0) 
Using rails (3.0.0) 
Installing sqlite3-ruby (1.3.1) with native extensions /usr/local/lib/site_ruby/1.8/rubygems/installer.rb:483:in `build_extensio
ns': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/usr/bin/ruby1.8 extconf.rb 
extconf.rb:3:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:3

再次遇到同样的错误..如果有办法使rails 3工作sudo删除这个rvm,并将我的ruby带回1.8.7,我正在考虑。

3 个答案:

答案 0 :(得分:1)

我想我的问题太具体了,我找到的解决方案记录在我的博客上:http://fabianosoriani.wordpress.com/2010/09/21/installing-rails-3-0-0-on-ubuntu-10-4

答案 1 :(得分:1)

mkmf.rb是ruby1.8-dev软件包的一部分,所以请尝试安装它。

sudo apt-get install ruby1.8-dev

答案 2 :(得分:0)

执行gem env并查看您的GEM PATHS以查看rails / ruby​​期望找到它们的位置。

此外,如果你使用的是rvm,那么你需要通过rvm安装你的宝石:

rvm gem install <gem>

确保您正在更新相应的宝石路径