【问题标题】:Ruby on Rails error "cannot load such file -- less"Ruby on Rails 错误“无法加载此类文件——更少”
【发布时间】:2012-12-03 00:39:11
【问题描述】:

我对@9​​87654321@ 还很陌生,我一直在尝试将twitter-bootstrap 用作资产,所以我将它包含在我的Gemfile 中,捆绑并成功安装。但是我注意到它依赖于某些在我执行“捆绑”命令时未显示的依赖项。

它需要的依赖

(1) Libv8
(2) Less
(3) Less-rails

错误信息:

cannot load such file -- less
  (in c:/Sites/todo/app/assets/stylesheets/bootstrap_and_overrides.css.less)

[code]

Extracted source (around line #8):

5:   <!--[if lt IE 9]>
6:     <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"     type="text/javascript"></script>
7:   <![endif]-->
8:   <%= stylesheet_link_tag    "application", :media => "all" %>
9:   <%= javascript_include_tag "application" %>
10:   <%= csrf_meta_tags %>
11:   <meta name="viewport" content="width=device-width, initial-scale=1.0">

[/code]

Trace
app/views/layouts/application.html.erb:8:in     `_app_views_layouts_application_html_erb__560528188_27183396'
app/controllers/lists_controller.rb:7:in `index'

我已经注意到这个问题的很多答案,并选择了明显的解决方案,但不知何故我仍然卡住了,非常感谢一些指导。

【问题讨论】:

  • 你使用的是什么版本的 twitter bootstrap?
  • 我正在使用 twitter bootstrap 2.1.9 版
  • 还有 Rails 版本 'rails', '3.2.9'

标签: ruby-on-rails ruby twitter-bootstrap web


【解决方案1】:

我猜你使用的是 sass 而不是 LESS。

您是否尝试过 twitter-bootstrap-rails gem?

gem "therubyracer"
gem "less-rails"
gem "twitter-bootstrap-rails"

https://github.com/seyhunak/twitter-bootstrap-rails

【讨论】:

  • 这是我目前使用的 gem,但是我没有 gem therubyracer 或 less-rails
  • 我想就是这样...我已经按照链接上的指南进行操作,效果很好。就像我说过的,rails 使用 SASS 而不是 LESS。这就是为什么需要其他两个宝石的原因。 (我正在使用 Rails 3)
【解决方案2】:

您必须更新 therubyracer 或将 twitter-bootstrap-rails gem 降级到版本 2.1.7,这是最后一个没有此问题的已知版本。

运行 bundle update 以更新您的 gem 或在您的 Gemfile 中使您的 twitter-bootstrap-rails gem 看起来像这样:

gem 'twitter-bootstrap-rails', '2.1.7'

看看这个问题:

https://github.com/seyhunak/twitter-bootstrap-rails/issues/465

这个问题开始在twitter-bootstrap-rails 2.1.7 之后的版本上发生。

【讨论】:

  • 我尝试安装 libv8 但一直失败,并且 therubyracer 依赖于它,并且“less”依赖于“therubyracer”
  • @NicolasBrown 尝试卸载并重新安装...gem uninstall libv8 然后bundle install 将检测到 therubyracer 的依赖关系并安装 libv8。并重新启动您的服务器,正如另一篇文章中提到的那样。
【解决方案3】:

也许你在 windows 上...没有适用于 windows 的 libv8,也没有二进制 therubyracer,因为它依赖于 libv8

【讨论】:

    【解决方案4】:

    如果您在 Windows 下获得它,这应该对您有所帮助 therubyracer_for_windows

    它帮助了我

    【讨论】:

    • 不存在(404 未找到)
    【解决方案5】:

    我只需要重新启动我的服务器。

    我在本地服务器运行时添加了上面列出的三个 gem(less-railstherubyracertwitter-bootstrap-rails,使用 Rails 3.2.13),导致出现问题更多。因此,一旦我将其关闭并重新启动,一切都会正常加载。

    【讨论】:

    • 那你为什么不选这个作为正确答案呢?
    • @CodeBiker,是的,我的 rails 应用程序也需要重新启动。
    猜你喜欢
    • 2022-10-23
    • 1970-01-01
    • 2014-04-23
    • 2014-04-24
    • 2018-10-19
    • 1970-01-01
    • 2012-03-09
    • 2015-05-09
    • 2013-07-12
    相关资源
    最近更新 更多