zom*_*ast 11 linux ruby-on-rails bin
作为新生,我遇到了许多不清楚的细节.其中一个是bin -thing.我一直在想,有什么区别:
rails generate...
Run Code Online (Sandbox Code Playgroud)
和
bin/rails generate...
Run Code Online (Sandbox Code Playgroud)
?当我在控制台中运行这些命令时,它们似乎表现相同.还有rake和bin/rake ......还有更多可能.感谢帮助.
- 问候
Ahm*_*Ali 11
如果您只运行'rails',RubyGems将激活它可以在PATH中找到的最新版本的rails可执行文件.只要在项目中使用此版本的Rails,这就没问题了.如果你有一个使用较旧版本的Rails并运行'rails'的项目,那么在尝试运行最新Rails版本中更改的代码时可能会遇到问题.Binstubs通过确保您的环境使用项目的Gemfile中指定的版本来解决此问题.
考虑这种情况:
我有一个使用 Rails 版本 4.0.0 的应用程序。我的目标是将其升级到 Rails 4.1.9。为此,我尝试逐步升级:首先升级到4.0.13,然后升级到4.1,最后升级到4.1.9。
一切都很顺利。所有测试均使用 RSpec 通过。
最后,我尝试使用rails s
. 繁荣!鲁比崩溃了。然后,我用了bin/rails s
. 一切顺利。
所以我认为如果你的系统中设置了不同版本的rails,那么使用bin/rails
选项会更安全。
PS 为了确保我的假设是正确的,我删除了除 4.1.9 之外的所有 Rails 版本,然后尝试使用rails s
. 这次没有崩溃。
希望这能澄清。