无法找到 gem 'sqlite3 (>= 0) ruby'

5
我正在学习 Ruby on Rails,并按照 Ryan Bigg 博客和《敏捷Web开发》书中的 RVM 和 Rails 安装说明进行安装。这在我家里的电脑上之前就可以运行,但是在工作中出现了错误信息:
depot$ rails -v
Could not find gem 'sqlite3 (>= 0) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.

我正在尝试生成一个脚手架,但是出现了以下错误:

depot$ rails generate scaffold Product \ title:string description:text image_url:text price:decimal
Could not find gem 'sqlite3 (>= 0) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.

我已经安装了sqlite3,RVM 1.9.2-p320,并在Ubuntu 11.04上运行。

你有什么想法是什么导致这个问题的,以及如何解决它?


你是否按照它告诉你的两次运行了 bundle install?如果是,发生了什么? - Andrew Marshall
是的,我已经尝试过了,但是给了我一个错误:“无法找到Gemfile”。 - Sun Wu-kong
你的应用程序使用的是哪个版本的Rails?你在应用程序目录还是其他地方运行了 bundle install 命令?rvm currentwhich rails 命令的输出是什么? - Andrew Marshall
好的,现在我从应用程序目录执行了bundle install,它已经安装完成。rvm currentruby-1.9.2-p320,而which rails指向....rvm/gems/ruby-1.9.2-p320/bin/rails - Sun Wu-kong
在应用程序目录中运行bundle install成功了,我刚刚创建了脚手架。但是这里发生了什么?在我家里的电脑上,我做了完全相同的事情,但我没有得到那个错误。 - Sun Wu-kong
我已经将我的评论变成了答案——如果它对你有帮助,请点赞/接受它 :)。而且你肯定没有做完全相同的事情——可能你错过了某个步骤,或者按照错误的顺序进行了操作,或者在错误的目录下运行了某些东西。由于当前的Ruby会随着目录的改变而改变,因此在不同的目录中运行可能会完全改变你正在做的事情。 - Andrew Marshall
4个回答

7

运行

bundle install

在你的Rails应用程序目录中,就像两个错误消息告诉你的那样。

谢谢,但我相当确定我做了这个并且它给了我一个错误。如果这是一个愚蠢的问题,那么对不起,但为什么你要从应用目录内运行它呢?而且是什么原因导致之前我不需要这样做? - Sun Wu-kong
你必须从应用程序目录内运行它,因为它使用 Gemfile 文件,该文件仅存在(且应仅存在)于应用程序目录中。你以前总是不得不这样做,只是上一次可能碰巧在你的应用程序目录中。 - Andrew Marshall
哦,我现在明白了。是的,可能只是没有注意到它。我是编程新手,这是我第一次(大约一周前开始)接触Ubuntu和Ruby on Rails。仍在适应并弄清楚一切。谢谢你的帮助。 - Sun Wu-kong

4

我遇到了同样的问题,你可以尝试在应用程序目录下运行sudo apt-get install libsqlite3-devbundle install


0
你需要从你的应用目录下运行它,这样它才能找到Gemfile并知道需要从Gemfile安装哪些gem。

-1

是的。我在开始使用rails时也遇到了同样的问题,当我输入"rails new"时,出现了sqlite3的问题。这是因为没有执行"bundle install"。当我们尝试执行'bundle install'时,会显示一些gemfile缺失错误。这是因为我们没有将目录更改为正在使用rails应用程序的文件夹。因此,要解决此问题,请按照以下步骤操作:

  1. 键入'rails new app' // app可以替换为任何您想要的名称。
  2. 现在,在您的主目录中将创建一个名为app的文件夹。
  3. 现在启动新终端。
  4. 键入'cd app'
  5. 现在您可以继续工作,而不会遇到任何此类问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接