【发布时间】:2016-03-07 13:54:59
【问题描述】:
ruby gem 集存在根本问题,其中像 rake xxxx 这样的命令可能会产生错误,因为命令可能使用全局版本的 rake,而您的 gemfile 需要非常特定的版本。
我知道缓解这种情况的两种方法。
在 rake 和 rails 命令前使用
bundle exec。例如bundle exec rake db:migrate在前面添加这个确保命令相对于当前包执行,这意味着当你运行bundle install时创建的包。使用 RVM。使用 RVM 创建本地 gemset 的方法鲜为人知。首先,在这种情况下为您的新应用程序创建目录
mkdir myapp、cd myapp,然后运行rvm use ruby-2.3.0@myapp --ruby-version --create以创建其中没有任何内容的本地 gem 集。现在您可以运行gem install rails和rails new .在您所在的文件夹中创建带有专用gem 环境的rails myapp。
每次你 cd 到 myapp 目录时,额外的 RVM 都会自动切换到正确的 gemset。
据我了解,这两种方法都有效,但是否有任何已知问题为什么您不使用上述方法之一?
【问题讨论】: