【问题标题】:What is the proper way to upgrade Bootstrap 4 for Rails?升级 Bootstrap 4 for Rails 的正确方法是什么?
【发布时间】:2018-09-05 08:28:18
【问题描述】:

我尝试将我的 Rails 5 项目从 Bootstrap 4 Alpha 6 升级到 4.0.0 final 版本,我确定 v4.0.0 gem 已安装(我也卸载了 alpha 版本的 gem),但是当我运行我的项目(开发模式)时,我发现生成的 Bootstrap CSS 文件仍然基于 Alpha 版本。

gem 'bootstrap', '~> 4.0.0'

除了卸载旧的 gem 并安装新的引导 gem 之外,我还需要为升级做其他事情吗?下载物理v4.0.0文件并替换我项目中的旧文件?

【问题讨论】:

    标签: css ruby-on-rails twitter-bootstrap ruby-on-rails-5 twitter-bootstrap-4


    【解决方案1】:

    尝试将 Ruby 依赖项保留在您的 Gemfile 和 JS/CSS 的其他地方。 Node+Yarn 是一个很好的方法。

    如果还没有

    brew install yarn
    

    然后在config/initializers/assets.rb中

    Rails.application.config.assets.paths << Rails.root.join('node_modules')
    

    现在您可以在控制台中执行此操作:

    yarn add bootstrap
    

    如果还没有,它应该创建一个 node-modules 目录。 然后只需将引导程序添加到您的 JS/SCSS 文件中

    JS

    //= require bootstrap/js/src/index
    

    CSS

    @import "bootstrap/scss/bootstrap";
    

    【讨论】:

      【解决方案2】:

      你可以看看这篇文章:

      How to update a single gem conservatively

      选项 1

      如果更新的所有依赖项都已经满足,这将起作用。

      1. 找出您要更新到的版本

      2. 直接在Gemfile.lock改一下

      3. 运行 bundle install 看看是否有效

      选项 2

      如果 gem 与其他 gem 没有共享依赖项,这将起作用。

      1. 找出您要更新到的版本。
      2. 使用 '=1.2.3' 将该版本显式添加到 Gemfile
      3. 运行bundle install
      4. 再次删除显式版本号
      5. 再次运行bundle install

      选项 3

      这应该总是有效的。

      1. 运行bundle update GEMNAME
      2. 运行 git diff Gemfile.lock 并注意所有您不想要的更新
      3. 将不需要的更改还原为您不想要的 Gemfile.lock(手动或逐行暂存更改的行),只保留所需的更新。
      4. 运行 bundle install 看看是否有效

      选项 4

      一直有传言称您可以通过调用 bundle update --source GEMNAME 来更新单个 gem。但是,似乎没有人知道它是如何以及为什么起作用的,它不是 Bundler 的一个记录功能。这可能是其他东西的意外副作用。

      我相信这个命令只会尝试更新 GEMNAME 和 GEMNAME。如果这导致对其他锁定的 gem 的依赖不匹配,它将失败。

      如果您使用此选项,请务必 git diff 您的 Gemfile.lock 以查看更改是否符合您的预期。

      选项 5

      Bundler &gt;= 1.14 有一个--conservative flag。使用保守标志允许 bundle update GEM 更新 GEM 的版本,但阻止 Bundler 更新 GEM 所依赖的任何 gem 的版本。

      致谢作者:Henning Koch

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-29
        • 2018-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多