我在Rails中很新。 在我创建了一个新的rails项目之后。
rails new test project
我跑了
rake db:create
为了创建数据库。 找到以下错误消息:
rake aborted!
no such file to load -- bundler/setup
我正在运行
Rails 3.1.0
Ruby 1.9.2p290
rvm 1.8.3
非常感谢!
我的$ PATH /Users/Mac/.rvm/scripts/rvm:/Users/Mac/.rvm/bin:/Users/Mac/.local/bin:/opt/local/bin:/opt/local/sbin:/usr/bin :/ bin中:/ usr / sbin目录:/ sbin目录:在/ usr / local / bin中:在/ usr /本地/ GIT中/ bin中:在/ usr / X11 / bin中:{ANT_HOME} / bin中
答案 0 :(得分:102)
执行命令
gem install bundler
bundle install
bundle exec rake db:create
您可能想了解Bundler。
请参阅"Creating new Rails Project"上的链接。
答案 1 :(得分:12)
我有同样的事情,这就是我发现的:你可能安装了多个版本的rake(类型gem list
来查看),你的项目指定你必须使用旧版本的rake。 / p>
如果这样做,则默认rake是较新的。
如果您在项目目录中,并且项目的Gemfile指定了旧版本的rake,并且您的类型为rake db:migrate,则错误消息告诉您rake的“新”版本不是您指定的版本在Gemfile中,运行bundle exec rake db:migrate
,以便捆绑者可以为您选择正确版本的rake。
答案 2 :(得分:4)
尝试
gem install bundler
捆绑安装
安装所需的宝石。
如果您没有rails应用程序所需的宝石,rake任务将失败。
答案 3 :(得分:4)
我遇到了同样的问题。 我没有完全解决它,而是通过运行:
bundle exec rake <task>
我能够在没有你的错误的情况下最终运行我想要的任务。
答案 4 :(得分:1)
你试过gem install bundler
吗?我很惊讶它在安装rails gem时没有安装,但似乎这是你的问题......
答案 5 :(得分:1)
在将非rails项目从Ruby 1.8.x升级到Ruby 1.9.x时,我遇到了同样的错误。问题是当前目录已从LOAD_PATH中删除。
Why does Ruby 1.9.2 remove “.” from LOAD_PATH, and what's the alternative?
我必须将一些地方从require
更改为require_relative
然后才有效。
答案 6 :(得分:0)
在升级到Ruby 1.9.2之后,运行rake时遇到了相同的缺失bundler消息。
Rake需要更新并且需要重新安装捆绑包:
sudo gem update rake
sudo gem install bundler
重新安装bundler可能已经修复了错误,但你想确保rake也是正确的。
答案 7 :(得分:0)
我正在使用Snow Leopard,最近遇到了类似的问题。碰巧,由于某种原因,系统更新在/ usr / bin / rake上创建了一个硬链接,指向OSX默认的1.8 ruby环境rake可执行文件。我的1.9 ruby安装位于/ usr / local / bin,后来我的PATH设置,所以当我运行“ruby -v”时,我得到了我所期望的,与“gem environment”相同,但rake任务失败了你描述的方式。
我刚刚删除了条目/ usr / bin / rake。在PATH上移动/ usr / local / bin可能也有效。运行“哪个rake”的结果必须指向1.9安装。
希望它有所帮助,
- 何塞
答案 8 :(得分:0)
在您的Gemfile中,在组:test下添加宝石'rack'。