我有一个在本地(OsX,WEBrick)运行良好的rails应用程序。
我已经在服务器(Ubuntu 10.04,Apache,Passenger)上克隆了repo,设置了乘客,但是现在当我尝试连接到我得到的每个页面时
Less::ParseError in Pages#home
Showing /var/www/MYAPP/app/views/layouts/application.html.erb where line #5 raised:
Cannot call method 'charAt' of undefined
(in /usr/lib/ruby/gems/1.8/gems/twitter-bootstrap-rails-2.0.2/vendor/assets/stylesheets/twitter/bootstrap.css.less)
bootstrap.css.less的内容是:
@import "twitter/bootstrap/bootstrap";
application.html.erb的第5行是:
<%= stylesheet_link_tag "application" %>
两台机器上的红宝石1.8.7
答案 0 :(得分:1)
解决了升级到ruby 1.9.3的问题
答案 1 :(得分:1)
在Ubuntu服务器10.04上升级对我的影响不大
对于系统范围:
sudo npm -g install less
仅限用户:
npm install less
答案 2 :(得分:0)
我认为这与Ruby less gem没有正确编译有关。我也在mac本地解决了这个问题。某处我看到了一个使用less(1.3)节点版本而不是ruby gem的建议,你可以用npm install less
安装它。
然而,大多数连接bootstrap到rails的宝石使用ruby gem版本,所以它似乎是不行,尤其是heroku等。经过非常令人沮丧的几天,我放弃并切换到sass版本的bootstrap:https://github.com/thomas-mcdonald/bootstrap-sass
与rails集成更简单,但不幸的是没有正式版本的bootstrap。后来我去了整合bootswatch,但这也不适合sass。所以我现在回到普通的旧版css版本的bootswatch,直到有更好的方法来解决这个问题:/