首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Rails Composer在构建应用程序时要更新Rails?

为什么Rails Composer在构建应用程序时要更新Rails?
EN

Stack Overflow用户
提问于 2017-01-07 04:34:07
回答 1查看 85关注 0票数 0
代码语言:javascript
复制
# I run these commands:
$ rvm current
ruby-2.3.3@rails500
$ gem list | grep '^rails '
rails (5.0.1, 5.0.0)
$ gem uninstall rails -v 5.0.1
Successfully uninstalled rails-5.0.1
$ gem uninstall railties -v 5.0.1
Successfully uninstalled railties-5.0.1
$ gem list | grep railties
railties (5.0.0)
$ rails -v
Rails 5.0.0
$ rails new . -m \
https://raw.github.com/RailsApps/rails-composer/master/composer.rb
# After I answer all the prompts, a Gemfile is created, which requires
# rails '~> 5.0.1'. After running to completion, Rails Composer leaves
# me with Rails 5.0.1:
$ rails -v
Rails 5.0.1

我并没有明确要求使用Rails 5.0.1。那为什么我要得到它呢?它似乎与Rails编写器发生了冲突。请参阅https://github.com/RailsApps/rails-composer/issues/261https://github.com/RailsApps/rails-composer/issues/260

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-07 17:11:39

您已经观察到了Rails new命令的行为。Rails Composer是一个Rails应用程序模板,它搭载在Rails new生成器上。Rails new命令生成一个简单的默认Rails应用程序,然后Rails Composer对其进行修改。Rails new命令生成的Gemfile包含gem 'rails', '~> 5.0.0'。请注意~> 5.0.0指定的“悲观版本控制”。这意味着使用高于5.0.0和低于5.1的任何版本(可以使用任何补丁版本)。当Rails new生成器运行时,它使用简单的默认Rails应用程序提供的Gemfile更新gem,包括Rails gem。因此,Rails 5.0.1gem是在Rails Composer运行之前安装的。

您可以在不使用Rails编写器应用程序模板的情况下运行Rails new命令来观察此行为。

myapp/2.4.0@rails500 $ rvm current ruby-2.4.0@rails500 myapp/2.4.0@rails500 $ gem list | grep '^rails ' rails (5.0.0) myapp/2.4.0@rails500 $ rails -v Rails 5.0.0 myapp/2.4.0@rails500 $ rails new . . . . run bundle install . . . Installing rails 5.0.1 . . . myapp/2.4.0@rails500 $ rails -v Rails 5.0.1

总之,您的问题在于Rails new命令,而不是Rails Composer。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41513899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档