当我运行 > rake db:migrate
时,在我的网页出现这个错误之后。它显示错误,例如:
rake 中止!
您已经激活了 rake 10.1.1,但是您的 gemfile 需要 rake 10.1.0,使用 bundle exec 可能会解决这个问题。
- 当我尝试使用
bundle exec rake db:migrate
时 它有效。 - 当我尝试使用
rake db:migrate
时。 我显示错误
我的问题是:
bundle exec rake db:migrate
和rake db:migrate
有什么区别。- 每次我都必须这样做如果是,那为什么?
- 我的项目有什么问题。
谢谢。
最佳答案
bundle exec rake db:migrate
将使用您的 Gemfile 环境运行 rake db:migrate
。
你有一个错误,因为你的 Gemfile 需要一个版本的 rake,但你的系统上安装了一个更新的版本。
默认情况下,rake
将运行最新的可用版本,因此不匹配。
在由 bundler 管理的项目中,您应该始终在命令前加上 bundle exec,我个人将 bx
别名为 bundle exec
。
您还可以使用 binstubs
关于ruby-on-rails - 迁移正在等待;运行 'rake db:migrate RAILS_ENV=development' 来解决这个问题。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21216642/