2014-10-01 59 views
43

我突然在開發和生產部署中遇到此錯誤。Sass :: SyntaxError:要導入的文件未找到或無法讀取:bootstrap-sprockets

custom.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 
+1

那麼,如果我是你,我會檢查該bootstrap-sprockets.css.scss文件,並確保它在那裏,並準備推出的薩斯預編譯;-) – jfornoff 2014-10-01 06:46:59

+0

可能重複的問題 - http://stackoverflow.com/questions/23108679/sasssyntaxerror-file-to-import-未找到或不可讀的指南針生產 – 2014-10-01 07:15:24

+2

不要忘記重新啓動服務器 – saadlulu 2015-09-04 19:56:57

回答

25

我通過升級引導,薩斯

gem 'bootstrap-sass', '3.2.0.2' 
+5

我需要類似的改變,但我建議你使用'gem'bootstrap-sass','〜> 3.2.0''語法因爲它會給你更小的版本更新而不是鎖定你的特定版本。 – 2015-01-06 14:18:05

5

我解決它在下面的步驟來解決這個問題:

  1. 列表項
  2. 複製在我的「應用程序/資產/樣式表/的 「bootstrap.css」(這是缺少)
  3. 創業板安裝autoprefixer護欄(也修改的Gemfile)
  4. 創業板安裝鏈輪(也修改的Gemfile)
  5. 捆綁安裝
  6. 重新啓動服務器(不只是清涼頁)
+5

「重啓服務器」一步加號。 – 2015-03-24 08:42:00

+0

重新啓動服務器..哦,我的! – 2015-10-05 15:13:37

78

進行更改的Gemfile後,不要忘記重新啓動服務器0

+1

這爲我修好了。 Bootstrap gems需要服務器重啓才能工作。 – Lotix 2015-11-18 14:24:43

+0

這也是我的解決方案! – JAF 2016-01-14 23:12:52

+0

或與任何適用 - '服務httpd重啓'等。 – mwfearnley 2016-03-17 08:21:15

1

此錯誤主要出現在rails 3.2.x版本中。 如果您使用的鋼軌3.2版本你有你的寶石文件中指定一個特殊版本,如下圖所示:

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

這既解決了rails -v '3.2.0'

1

問題把這個寶石文件

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

然後運行$ bundle install

重新啓動服務器。

11

請重新啓動你的Gemfile每次更改後軌服務器

rails server 
+0

只需重新啓動即可保存一天。 – blakroku 2017-06-28 17:59:21

0

確保你運行你的Gemfile

內把這個添加此寶石到您的Gemfile 後,下面的命令現在停止您的服務器並運行以下命令:

bundle install 
    rails server 

重新啓動您的服務器。刷新瀏覽器,你會看到立即反映的變化。 在生產中可能需要運行此命令預編譯的資產:

bundle exec bin/rake assets:precompile 

它爲我工作。希望這有幫助。

+0

我得到了'當我嘗試的時候''在Gemfile中列出的任何gem源中都找不到'gem'bootstrap-sprockets'。 – 2018-02-11 15:21:01

1

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

轉到Bootstrap for Sass Github page,並按照指示:

  1. 添加以下的Gemfile中

    寶石 '自舉薩斯', '〜> 3.3.6' 寶石 '青菜護欄' , '> = 3.2'

  2. 運行命令 bundle install

  3. 啓動/重新啓動服務器

    軌小號

此外,請確保該文件具有.scss擴展名(或.sass社科院語法)。如果您剛剛生成了新的Rails應用程序,則可能會附帶.css文件。如果這個文件存在,它將被服務而不是Sass,所以重命名它。 然後,刪除所有* = require_self和* = require_tree。來自sass文件的聲明。相反,使用@import導入Sass文件。

+0

感謝您的「重啓服務器」系列,我被困在了4個小時。 – 2016-12-10 19:21:44

4

確保你沒有

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

這應該只是

gem 'bootstrap-sass' 
+1

我有類似的問題,但在我的情況下,我的Gemfile中有'bootstrap-sass'和'sass-rails'。去除'sass-rails'並留下像'bootstrap-sass'這樣的建議,在這種情況下也是如此。 – bogardpd 2017-06-04 21:22:34

1

如果您運行的集成測試,當得到這個消息時,請確保您的資產寶石包括在測試中組。

例如,更改:

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

1

我觀察到相同的行爲。在我的情況下,我已經刪除了'bootstap-sass'的版本,它的工作。這可能是導致問題的寶石版本兼容性問題。

寶石文件

gem 'bootstrap-sass' 

在創業板上市的文件進行更改後執行以下命令:

bundle install 

如果服務器已經那麼在運行由「CTRL + C」,並開始停止服務器再次

rails s 
相關問題