【问题标题】:Receiving error when installing bootstrap-sass gem in my ruby on rails app在我的 ruby​​ on rails 应用程序中安装 bootstrap-sass gem 时收到错误
【发布时间】:2017-11-07 16:16:51
【问题描述】:

过去几天我一直在学习 Ruby on Rails,并且正在学习一本书中的教程。 我正在开发一个需要导入引导程序的应用程序,但是我无法将其安装到我的项目中。

我使用的是 Ruby 2.3.1 版和 Rails 5.1.1 版,我使用的是cloud9 编码环境

我使用以下命令创建了一个新应用:

rails new bootstrap_app

下一条指令是使用以下命令“将引导 gem 添加到 gemfile”:

gem 'bootstrap‐sass' , '~> 3.3.6'

我这样做了,我得到以下错误:

ERROR:  While executing gem ... (Gem::CommandLineError)
    Unknown command bootstrap-sass,

我在 stackoverflow here 上查找了这个错误,但是在我的情况下“重新启动服务器”不起作用。

教程中的下一条指令是命令

bundle install

我这样做,它会告诉我已安装的依赖项列表(未列出引导程序)

我尝试了命令gem install bootstrap-sass,它说它成功安装了gem,但是当我尝试在我的CSS文件中导入引导程序时,如下所示:

@import "bootstrap‐sprockets" ;
@import "bootstrap";

我收到以下错误:

ActionController::RoutingError (No route matches [GET] "/assets/bootstrap%E2%80%90sprockets"):

关于如何让这个工作的任何想法?谢谢

【问题讨论】:

  • 听起来您将gem 'bootstrap‐sass' , '~> 3.3.6' 复制/粘贴到命令行中。但是您需要打开Gemfile 文件并在其中添加该行。
  • @Wukerplank 这更有意义,谢谢。我现在在 app 文件夹中看到了 Gemfile。所以我在 Gemfile 添加了行 gem 'bootstrap-sass' , '~> 3.3.6' 并且我运行了 bundle install 但我收到一个错误:“找不到 gem 'bootstrap-sass (~> 3.3 .6)' 在您的 Gemfile 中列出的任何 gem 源中。".. 但源列在 Gemfile 的顶部,如下所示:source 'rubygems.org' ..有什么想法吗?
  • 把这两个都放在你的Gemfile:gem 'bootstrap-sass', '~> 3.3.6' gem 'sass-rails', '>= 3.2' 然后运行bundle install
  • 感谢@CD-RUM,但 sass-rails 已经在我的 Gemfile 中了。 gem 'sass-rails', '~> 5.0' 之后我确实运行了 bundle install 。它成功安装了捆绑包,但我收到错误消息“找不到或无法读取要导入的文件:bootstrap-sprockets。”

标签: ruby-on-rails rubygems bootstrap-sass cloud9


【解决方案1】:

正如 CD-RUM 所述,您需要将 gem bootstrap-sassgem sass-rails 添加到您的 Gemfile 中。我还建议添加gem 'sprockets', '2.11.0',因为rails 5 附带的新版sprockets 在与Bootstrap 配合使用时存在一些问题。然后运行bundle install

您还需要将您的 application.css 文件重命名为 application.scss 并在那里添加导入文件(@import "bootstrap-sprockets" & @import "bootstrap")。现在重新启动您的服务器。

在此处阅读 Ruby on Rails 安装说明:bootsrap-sass gem 如果您仍然遇到问题,请考虑将 bootstrap-sass gem 的版本更改为早期版本(我使用 gem 'bootstrap-sass', '~> 3.3.5.1'),因为有些人似乎遇到版本冲突。

【讨论】:

  • 感谢@BrandonElder,但 sass-rails 已经在我的 Gemfile 中了。 gem 'sass-rails', '~> 5.0'。我已遵循所有准则,包括将 application.css 文件重命名为 application.scss 并在 application.scss 文件中取出 *= require_self 和 *= require_tree 并使用导入。我还向 application.js 添加了 //= 需要引导链轮,但仍然没有运气。当我取出 import "bootstrap‐sprockets" 时,该项目有效;并且只使用 import "bootstrap";但将其排除在外并不理想。感谢您的帮助。
  • 嗯.... 你的 Gemfile 中有 sprockets gem 吗?我会尝试添加gem 'sprockets', '2.11.0'
  • 谢谢。好的,我刚刚将您所说的添加到 Gemfile 并再次运行“捆绑安装”。然后重新启动我的服务器,但我仍然收到一条错误消息,提示“找不到要导入的文件或无法读取:引导链轮。”嗯
  • 不指定gem 'sass-rails' 的版本也可能会有所帮助。 Rails 会找到最新版本的 sass-rails gem。
  • 嗯...是的,这很奇怪。目前我想不出任何其他可能有帮助的东西。听起来你已经完成了我在 Rails 项目中添加引导程序时通常会做的所有事情。
猜你喜欢
  • 2015-07-15
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
相关资源
最近更新 更多