簡體   English   中英

Sass::SyntaxError:找不到或無法讀取要導入的文件:bootstrap-sprockets

[英]Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprockets

我突然在開發和部署生產中遇到這個錯誤。

自定義.css.scss

@import "bootstrap-sprockets";
@import "bootstrap";

錯誤(在生產中)

rake aborted!
Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprockets.
Load paths:
/srv/www/myapp/releases/20141001060418/app/assets/images
/srv/www/myapp/releases/20141001060418/app/assets/javascripts
/srv/www/myapp/releases/20141001060418/app/assets/stylesheets
/srv/www/myapp/releases/20141001060418/vendor/assets/javascripts
/srv/www/myapp/releases/20141001060418/vendor/assets/stylesheets

更改 Gemfile 后,不要忘記用rails s重新啟動服務器

重新啟動 rails 服務器就像一個魅力! :D

我通過升級 bootstrap-sass 解決了這個問題

gem 'bootstrap-sass', '3.2.0.2'

每次更改 Gemfile 后,請重新啟動 Rails 服務器

rails server

對於6之前的 rails版本中的 Bootstrap 5 的 Sass 版本使用

gem `bootstrap`

對於 Bootstrap 3 和 2 的 Sass 版本,請確保您沒有

gem 'bootstrap'  # Remove this line
gem 'bootstrap-sass'

它應該只是

gem 'bootstrap-sass'

我通過以下步驟解決了它:

  1. 項目清單
  2. 在我的“app/assets/stylesheets/”中復制“bootstrap.css”(它丟失了)
  3. gem install autoprefixer-rails(同時修改Gemfile)
  4. gem 安裝鏈輪(也修改 Gemfile)
  5. 捆綁安裝
  6. 重啟服務器(不僅僅是刷新頁面)

這就是我解決問題的方法。

轉到Bootstrap for Sass Github 頁面並按照說明操作:

  1. 將以下內容添加到 Gemfile

    gem 'bootstrap-sass', '~> 3.3.6' gem 'sass-rails', '>= 3.2'

  2. 運行命令bundle install

  3. 啟動/重啟服務器

    導軌

此外,請確保文件具有 .scss 擴展名(或 .sass 用於 Sass 語法)。 如果您剛剛生成了一個新的 Rails 應用程序,它可能會附帶一個 .css 文件。 如果此文件存在,它將代替 Sass 提供服務,因此重命名它。 然后,刪除所有 *= require_self 和 *= require_tree 。 sass 文件中的語句。 相反,使用 @import 導入 Sass 文件。

我觀察到了同樣的行為。 就我而言,我已經刪除了 gem 'bootstap-sass' 的版本並且它起作用了。 導致問題的 gem 版本可能存在兼容性問題。

寶石文件

gem 'bootstrap-sass'

在 gem 文件中進行更改后,執行以下命令:

bundle install

如果服務器已經在運行,那么通過“ CTRL+C ”停止它並再次啟動服務器

rails s

在您的 Gemfile 中,您需要添加 bootstrap-sass gem,並確保 sass-rails gem 存在 - 默認情況下它會添加到新的 Rails 應用程序中。

gem 'bootstrap-sass', '3.3.7'
gem 'sass-rails', '5.0.6'
gem 'rails', '5.0.0'

bundle install 並重新啟動您的服務器以使文件通過管道可用。 app/assets/stylesheets/application.scss 中導入 Bootstrap 樣式

// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
@import "bootstrap-sprockets";
@import "bootstrap";

bootstrap-sprockets 必須在 bootstrap 之前導入,圖標字體才能工作。 確保文件具有 .scss 擴展名(或 .sass 用於 Sass 語法)。 如果您剛剛生成了一個新的 Rails 應用程序,它可能會附帶一個 .css 文件。 如果此文件存在,它將代替 Sass 提供服務,因此將其重命名:

$ mv app/assets/stylesheets/application.css到: app/assets/stylesheets/application.scss

然后,刪除所有*= require_self*= require_tree . sass 文件中的語句。 相反,使用@import導入 Sass 文件。 例如

*= require_tree .
*= require_self

到:

@import require_tree .
@import require_self

不要在 Sass 中使用*= require ,否則您的其他樣式表將無法訪問 Bootstrap 混合或變量。 Bootstrap JavaScript 依賴於 jQuery。 如果您使用的是Rails 5.1+ ,請將 jquery-rails gem 添加到您的 Gemfile 中:

gem 'jquery-rails'

$ bundle install

需要 Bootstrap Javascripts

應用程序/資產/javascripts/application.js:

//= require jquery
//= require bootstrap-sprockets

bootstrap-sprocketsbootstrap不應同時包含在

應用程序.js

. bootstrap-sprockets提供單獨的 Bootstrap Javascript 文件(例如,alert.js 或 dropdown.js),而bootstrap提供一個包含所有 Bootstrap Javascript 的連接文件。

這將修復錯誤

Copied @github

此錯誤主要出現在 rails 3.2.x 版本中。 如果您使用的是 rails 3.2 版,則必須在您的 gem 文件中指定一個特殊版本,如下所示:

gem 'rails', '3.2.0'
gem 'bootstrap-sass', '3.2.0.2'

它將解決rails -v '3.2.0'

把它放在 gem 文件中

gem 'bootstrap-sass', '~> 3.3.5'
gem 'sass-rails', '>= 3.2'

然后運行$ bundle install

重新啟動服務器。

如果您在運行集成測試時收到此消息,請確保您的資產 gem 包含在測試組中。

例如,更改:

group :assets do gem 'sass-rails', '~> 5.0.3' gem 'uglifier', '>= 1.3.0' end

到:

group :assets, :test do gem 'sass-rails', '~> 5.0.3' gem 'uglifier', '>= 1.3.0' end

我有同樣的問題

sass::syntaxerror: file to import not found or unreadable: config/variables.

,我打開了一個新的 css 文件(我稱之為 custom.css),然后將所有的 css 復制到文件中。 在 application.css 上我刪除了

@import "config/variables" 加上所有其他@imports

這對我有用,我希望它也對你有用!

確保在將此 gem 添加到 Gemfile 后運行以下命令將其放入 Gemfile

    gem "bootstrap-sprockets", "~>3.3"
    gem "bootstrap"

現在停止您的服務器並運行以下命令:

    bundle install
    rails server

重新啟動您的服務器。 刷新您的瀏覽器,您應該會立即看到更改的反映。 在生產中,您可能必須運行此命令來預編譯您的資產:

    bundle exec bin/rake assets:precompile

它對我有用。 希望這是有幫助的。

我有同樣的問題,但我解決了它,你只需要在開發組中添加你的gem bootstrap-sass ,如下所示:

    group :development do
    gem 'bootstrap-sass'
    end

我希望這個能幫上忙

我在開發環境中也遇到了類似的錯誤:

錯誤圖像

我解決了這個問題 -

  1. 在我的 gemfile 中,我添加了它們 -

    gem 'bootstrap', '~> 4.2.1'

    寶石'jquery-rails'

  2. 在 application.js 文件中,添加這些 -

    //= 需要 jquery3

    //= 需要 popper

    //= 需要引導鏈輪

  3. 在擴展名為.scss的文件中,只需添加 -

    @import "引導程序";

    之后,只需運行bundle install

我遇到過這樣的問題。 如果在“Gemfile.lock”中看到低於 3.4.1 的 bootstrap-sass 版本,請升級 bootstrap-sass gem 版本。

我能夠通過將 (.css) 更改為 (.scss) 來解決此問題。 然后在那里我只有這個..

*= require_tree .
*= require_self
@import "bootstrap";

我在 application.js 文件中也有 @import "boostrap"。 這就是它對我有用的方式——不是 100% 正確的修復——但它確實有效。

我通過刪除解決了我的問題

gem 'bootstrap'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM