[英]'no such file to load — bootstrap-sass' using compass and ruby version 2.3 instead of 1.8
[英]Compass, bootstrap-sass and ruby 1.8.7
在我最終設法使Compass在托管的Web空間上運行(沒有root用戶訪問權限)之后,嘗試安裝bootstrap-sass時出現了一個新問題:
$ compass watch
LoadError on line 31 of /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: no such file to load -- bootstrap-sass
gem install bootstrap-sass
ERROR: Error installing bootstrap-sass:
execjs requires Ruby version >= 1.9.3.
好吧,這很明顯是怎么回事:我需要Ruby> = 1.9.3,而服務器僅提供1.8.7。 我已經檢查過:無法在該服務器上使用其他紅寶石版本。
有什么方法/破解/解決方案來使用bootstrap-sass嗎?
當gem依賴於特定(或更新)版本的Ruby時,原因通常是該gem依賴或使用了舊版本中不存在的功能。
Ruby 1.8.7
和1.9.3
之間有很多區別 :新的哈希語法,更好的UTF8支持以及行為改變的新方法-僅舉幾例。
如果為1.9.3
構建了gem,並且您想將tat gem與較舊的版本一起使用,則只能選擇恕我直言:分叉該gem,查看源代碼並重寫與1.8.7
不兼容的所有內容。
您將很可能了解到此類寶石依賴於其他寶石,這些寶石也依賴於Ruby的最新版本。 對那些寶石做同樣的事情...
我完全同意,仍然使用Ruby 1.8.7不是一個好主意。 我不知道為什么我的托管服務商仍然使用這么老的版本,但這只是我無法更改的事實。 當然,我可以搬到另一台主機上,但是現在我已經找到了一個可行的解決方案。 也許其他人也有同樣的問題。 所以這對我有用:
gem install bootstrap-sass
無法工作,因為它需要execjs
,而最新版本需要Ruby> 1.9.3。 很高興bootstrap-sass
不需要最新版本的execjs
。 因此解決方案很簡單:安裝對ruby 1.8.7滿意的execjs
版本:
gem install execjs -v 2.5.0
gem install bootstrap-sass
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.