【发布时间】:2019-06-10 01:00:42
【问题描述】:
我使用 rvm 进行开发。为了最初创建一个新的 Rails 项目目录,我将在我的默认 gemset 中安装完整的 Rails 堆栈,以便我可以运行“rails new”。然后,我将在新项目目录中创建“.ruby-version”和“.ruby-gemset”文件,以便 rvm 在导航到项目时自动切换正确的 ruby 版本和 gemset。然后我必须在项目的 gemset 中再次安装完整的 Rails 堆栈。所以我从来没有真正最终使用安装在我的默认 gemset 中的 Rails 堆栈(除了运行“rails new”)。
那么,我可以安装一部分 Rails gem 来运行相当于“rails new”来生成新项目吗?有没有其他东西我可以用来做同样的事情,但在技术上不在 Rails 范围内?
【问题讨论】:
-
理论上,你所需要的只是 Rails 生成器,但如果尝试以可运行的形式从 Rails 中提取它们,那就祝你好运了。
-
另外,当你有 bundler 的时候,你为什么还要使用 gemsets?
-
@SergioTulentsev 所以我可以在项目之间快速切换,而无需重新安装 gems。是否有一些捆绑器功能可以让我这样做?
-
@SergioTulentsev 关于 Rails 生成器的提取,如果这是实施项目生成的地方,则同意。我希望他们使用一些我可以自己安装和运行的简单脚本(打包在它自己独立的 Ruby gem 中)。
-
是的,这正是 bundler 所做的。您可以在系统中安装任何 gem 版本(来自所有项目的 gem),然后 bundler 确保加载当前项目所需的确切版本。无需卸载重新安装。
标签: ruby-on-rails ruby