Ruby on Rails错误"无法加载此类文件 - "

Nic*_*own 41 ruby ruby-on-rails web twitter-bootstrap

我很新ruby on rails,我一直在尝试twitter-bootstrap用作资产,所以我把它包含在我的Gemfile中,捆绑并成功安装.但是我注意到它依赖于我执行"bundle"命令时未显示的某些依赖项.

它需要的依赖性

(1) Libv8
(2) Less
(3) Less-rails
Run Code Online (Sandbox Code Playgroud)

错误信息:

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'
Run Code Online (Sandbox Code Playgroud)

我已经注意到了很多这个问题的答案,并选择了明显的解决方案,但不知怎的,我仍然陷入困境,并且非常感谢一些指导.

Hel*_*tos 89

我猜你使用sass而不是LESS.

你试过twitter-bootstrap-rails gem吗?

gem "therubyracer"
gem "less-rails"
gem "twitter-bootstrap-rails"
Run Code Online (Sandbox Code Playgroud)

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

  • 这是我目前正在使用的宝石,但是我没有宝石therubyracer或less-rails (3认同)

Cod*_*ker 27

我只需要重启我的服务器.

我又增加了上述(列出的三种宝石less-rails,therubyracer以及twitter-bootstrap-railsRails的3.2.13),而我的本地服务器运行,导致上面看到的问题.因此,一旦我关闭它并重新启动它,一切都很好.

  • 是的,我还需要重启服务器.使用Rails 4. (4认同)
  • 那你为什么不选择这个作为正确的答案? (2认同)

Leo*_*rea 7

您必须therubyracertwitter-bootstrap-railsgem 更新或降级到版本2.1.7,这是最后一个没有此问题的已知版本.

运行要么bundle update更新您的宝石,要么Gemfile让您的twitter-bootstrap-rails宝石看起来像这样:

gem 'twitter-bootstrap-rails', '2.1.7'
Run Code Online (Sandbox Code Playgroud)

看看这个问题:

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

此问题在2.1.7之后的版本上开始发生twitter-bootstrap-rails.

  • 我尝试安装libv8但它仍然失败,并且therubyracer依赖于它,而且"less"依赖于"therubyracer" (2认同)