15

を使用してRails4でブートストラップをセットアップしようとしていますが、この有名なエラーが発生しています:bootstrap-sass

Sprockets::FileNotFound - couldn't find file 'bootstrap'
  (in app/assets/javascripts/application.js:16):

私は次のことを試しました:

  1. twitter/bootstrapapplication.js
  2. gem 'bootstrap-sass', '~> 3.1.0'グループ資産外です
  3. また、インターネットで他のことをたくさん試しました

私は他の投稿とは異なる提案をするのに多くの時間を費やしてきました. これを体系的にデバッグするにはどうすればよいですか、bootstrap-sass をセットアップするにはどうすればよいですか?

ps:twitter-bootstrap-railsまた、運が悪くても仕事を しようとしてきました。

ここにいくつかのファイルがあります

アプリケーション.js

//= require jquery
//= require jquery_ujs
//= require js-routes
//= require bootstrap
//= require_tree .
//= require bootstrap-slider

アプリケーション.css.scss

 *= require jquery.ui.core
 *= require jquery.ui.theme
 *= require_self
 *= require bootstrap-slider
 *= require_tree .
 *= stub active_admin
*/

@import "bootstrap";

Gemfile

source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails', '4.0.0'
gem 'sass-rails'
gem 'coffee-rails', git: 'git://github.com/rails/coffee-rails.git'
gem 'uglifier', '>= 1.0.3'
gem 'jquery-ui-rails'
gem 'font-awesome-sass'
gem 'less-rails'
gem 'therubyracer', :platform=>:ruby
#gem 'twitter-bootstrap-rails'
gem 'jquery-rails'
#gem 'jquery_mobile_rails'
gem 'js-routes'
gem 'cancan'
gem 'devise'
gem 'figaro'
gem 'haml-rails'
gem 'pg'
gem 'rolify'
gem 'sendgrid'
gem 'simple_form'
gem 'thin'
gem 'rake'

#To use db for storing cookies instead cookie-store
gem 'activerecord-session_store', github: 'rails/activerecord-session_store'

group :development do
  gem 'better_errors'
  #gem 'binding_of_caller', :platforms=>[:mri_19, :rbx]
  #Commenting out platforms part, because may be that's stopping this to be used on the dev machine'
  gem 'binding_of_caller'
  gem 'guard-bundler'
  gem 'guard-rails'
  gem 'guard-rspec'
  gem 'html2haml'
  gem 'quiet_assets'
  gem 'rb-fchange', :require=>false
  gem 'rb-fsevent', :require=>false
  gem 'rb-inotify', :require=>false

  # Required with Rails panel chrome extension. This Gem should come after better_errors gem
  gem 'meta_request'
end
group :development, :test do
  gem 'factory_girl_rails'
  gem 'rspec-rails'
  gem 'pry-byebug'
  gem 'pry-stack_explorer'
  gem 'pry-rails'
  gem 'pry-debugger'
end

group :test do
  gem 'capybara'
  gem 'database_cleaner'
  gem 'email_spec'
end

group :production do
  gem 'rails_12factor'
end

gem 'high_voltage'

#Linkedin Logins
gem "linkedin"
gem "omniauth"
gem "omniauth-linkedin"

gem "omniauth-facebook"

#postgres use hstore in active record
#gem 'activerecord-postgres-hstore'

gem 'state_machine'
gem "ruby-graphviz"


#payments
#gem 'stripe',:git => 'https://github.com/stripe/stripe-ruby'

#gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails', :github => 'anjlab/bootstrap-rails'

gem 'newrelic_rpm'

gem 'pgbackups-archive'

gem 'pg_search'

gem 'acts-as-taggable-on'

#gem 'activeadmin' , github: 'gregbell/active_admin'
gem "activeadmin", git: "https://github.com/gregbell/active_admin"

gem 'kaminari'
gem 'bootstrap-slider-rails'
gem 'bootstrap-sass', '~> 3.1.0'
4

8 に答える 8

3

私のプロジェクトの 1 つ ( Rails 4.1 ) では、ブートストラップを ( sass ではなく)直接含める必要がありました。たぶん、それは saas 版を機能させるためのヒントを与えるでしょう。以下は、ブートストラップを直接含める手順です。

  1. ブートストラップを Rails.root/vendor/assets/bootstrapにダウンロードして解凍します
  2. Rails.root/vendor/assets/javascripts/bootstrap.jsファイルを次のような内容で作成します。

    //= require ../bootstrap/js/bootstrap.js

  3. アイコンを機能させるための最も重要な部分です。Glyphicons Halflings フォントでは、フォント ファイルの URL をオーバーライドする必要があります。また、asset_pathヘルパーを使用する必要があります。Rails.root/vendor/assets/stylesheets/bootstrap.css.erbファイルを作成し、このような内容でファイルを作成します。

/*
=require ../bootstrap/css/bootstrap.css
*/

@font-face {
    font-family: 'Glyphicons Halflings';

    src: url("<%= asset_path 'glyphicons-halflings-regular.eot' %>");
    src: url("<%= asset_path 'glyphicons-halflings-regular.eot?#iefix' %>") format('embedded-opentype'), url("<%= asset_path 'glyphicons-halflings-regular.woff2' %>") format('woff2'), url("<%= asset_url 'glyphicons-halflings-regular.woff' %>") format('woff'), url("<%= asset_path 'glyphicons-halflings-regular.ttf' %>") format('truetype'), url("<%= asset_path 'glyphicons-halflings-regular.svg#glyphicons_halflingsregular' %>") format('svg');
}
  1. application.js と application.css でブートストラップが必要になりました

アプリケーション.js

//= require bootstrap

アプリケーション.css

 *= require bootstrap
  1. 最後に、アセット パイプラインにフォント パスと追加の拡張機能を認識させてプリコンパイルします。application.rb に以下を追加します。
config.assets.paths << Rails.root.join("vendor", "assets", "bootstrap", "fonts")
config.assets.precompile += %w( *.eot *.svg *.ttf *.woff *.woff2 )

その後、RAILS_ENV=production rake assets:precompileは、フォント ファイルが認識され、パブリック アセット フォルダーにコピーされたことを示すはずです。

次に、本番環境で機能するかどうかをテストするために、静的アセットの提供を有効にします (production.rb: config.serve_static_assets = true) およびRAILS_ENV=production rails s

于 2015-04-18T23:50:47.773 に答える
1

ホストされたCDNからのブートストラップを使用することになりました

      %link{href: "//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css", rel: "stylesheet"}/
      %link{href: "//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" , rel: "stylesheet"}/
      %link{href: "//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css", rel: "stylesheet"}/
于 2014-02-10T02:51:29.733 に答える
1

まったく同じエラーが発生しました。解決策は、次のように変更することでした。

config/environments/production.rb

この線

config.serve_static_assets = false

config.serve_static_assets = true

この行が何をするのか正確にはわかりませんが、私のワークチームはプロジェクトで同じ問題を抱えていて、この行を変更したところうまくいきました。

于 2014-02-10T19:04:07.463 に答える
0

私は同じ問題を抱えていました: タイプ 'application/javascript' のファイル 'bootstrap-sprockets' が見つかりませんでしたsass-rails', '>= 3.2'

これが他のメンバーに役立つことを願っています

于 2016-04-16T15:19:36.230 に答える
0

私にとっての修正は 2 つの部分でした...最初に私の正しいリスト...しかし、リストだけでは修正できませんでした!

gem 'sass-rails', '~> 5.0'
gem 'bootstrap-sass', '~> 3.3.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'

次に、gemfile.Lockの問題が発生しました...他の誰かがファイルをロードできず、CDNを使用したくない場合...gemfile.Lockを確認し、gemfileからコンパイルされたバージョンを確認します(1は開発者としての入力であり、もう 1 つはフレームワークによって実際に実行されるものです。gemfile.lock を変更しようとすると問題が発生します)。

gemfile ロックを解決するには... gemfile & gemfile.Lock を閉じます

  1. 最初に問題のアイテムを「gemfile」から削除する必要がありました。
  2. 私はgem install <name of gemfile>それらのそれぞれに私が望んでいた「」をしました。

次に、gemfile & gemfile.Lock を開いて結果を確認します。これらのそれぞれに必要なすべての構成ブートストラップなどを行う必要があることに注意してください。どちらかを実行しても問題ありませんrails assets:precompile

注: rails assets:precompile は rails 5 コマンドです。

于 2016-12-16T16:00:13.290 に答える