新手问题 warning: already initialized constant Bootstrap::VERSION

roy0524 · 2017年09月06日 · 最后由 chq 回复于 2017年09月07日 · 2872 次阅读

MacdeMacBook-Pro:hello_rails mac
$ bin/rails s
/Users/mac/.rvm/gems/ruby-2.4.1/gems/bootstrap-4.0.0.beta/lib/bootstrap/version.rb:2: warning: already initialized constant Bootstrap::VERSION
/Users/mac/.rvm/gems/ruby-2.4.1/gems/bootstrap-sass-3.3.7/lib/bootstrap-sass/version.rb:2: warning: previous definition of VERSION was here
/Users/mac/.rvm/gems/ruby-2.4.1/gems/bootstrap-4.0.0.beta/lib/bootstrap/version.rb:3: warning: already initialized constant Bootstrap::BOOTSTRAP_SHA
/Users/mac/.rvm/gems/ruby-2.4.1/gems/bootstrap-sass-3.3.7/lib/bootstrap-sass/version.rb:3: warning: previous definition of BOOTSTRAP_SHA was here
=> Booting Puma
=> Rails 5.1.3 application starting in development on http://localhost:3000
=> Run rails server -h for more startup options
Puma starting in single mode...

  • Version 3.10.0 (ruby 2.4.1-p111), codename: Russell's Teapot
  • Min threads: 5, max threads: 5
  • Environment: development
  • Listening on tcp://0.0.0.0:3000
    Use Ctrl-C to stop

今天学习时启动服务器出现这个提示,自己查了一下没得到结果,问问大家如何处理?

我之前安装了 2 个这个 gem,把下面那个#掉就,重启服务器就没提示 Warning。
gem 'bootstrap-sass'
#gem 'bootstrap', '~> 4.0.0.beta'

roy0524 关闭了讨论。 09月06日 22:12
roy0524 重新开启了讨论。 09月06日 22:13

namespace 冲突啊,都是 module Bootstrap

看 readme 开头:

Bootstrap 4 ruby gem for Ruby on Rails (Sprockets) and Compass. For Sass versions of Bootstrap 3 and 2 see bootstrap-sass instead.

其实看你要哪个版本的 bootstrap 就好了,不需要两个都加

5 楼 已删除

首先,bootstrapbootstrap-sass用一个gem就行,不用都用。 推荐这两个gem都不用,如果一定要用,用这个 rails-assets-bootstrap

另外,注意下避免gem版本冲突,可以尝试:

  1. 使用下面的命令运行程序:

    bundle exec bin/rails s
    
  2. config.ru文件的开始,增加下面的代码片段:

    require 'bundler/setup'
    
  3. 开发环境使用rvm,不同的项目使用不同的 gemset。

如在项目中定义.ruby-version文件和.ruby-gemset文件。

  1. 部署环境可以使用Dockerfile文件做成镜像 文件中使用增加下面的代码: RUN bundle install --without development test
roy0524 关闭了讨论。 09月09日 08:41
需要 登录 后方可回复, 如果你还没有账号请 注册新账号