sass-rails 依赖于 sass v3.2,我需要 sass v3.4。 sass-rails' "gemfiles" 目录有什么用,它会帮助我使用 sass v3.4 吗?
sass-rails depends on sass v3.2, I need sass v3.4. What is sass-rails' "gemfiles" directory for, and will it help me use sass v3.4?
我有一个项目需要 sass v3.4,但是 sass-rails 目前在其 sass-rails.gemspec 中有这个:
s.add_dependency 'sass', '~> 3.2.0'
最新版本(master分支)更倒退了:
s.add_dependency 'sass', '~> 3.1'
从 github,我可以看到 sass-rails 与 sass v3.4 一起工作并对其进行了测试。它还有一个奇怪的 "gemfiles" 目录,里面有一堆这样的文件 Gemfile-sass-3-4:
source "https://rubygems.org"
# Specify your gem"s dependencies in sass-rails.gemspec
gemspec path: ".."
gem "rails"
gem "sass", "~> 3.4.0"
如何使用这个文件?或者我如何利用 sass 3.4 而无需分叉 sass-rails git 存储库并仅更改它?这可能吗?
我能找到的最好的办法就是把它放在我的 Gemfile 中:
gem 'sass', '~> 3.4'
但是包更新给我这个错误:
$ bundle update sass
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies.......
Bundler could not find compatible versions for gem "sass":
In Gemfile:
sass-rails (~> 4.0.3) ruby depends on
sass (~> 3.2.2) ruby
sass (~> 3.4) ruby
还有一个(相关的)问题...为什么 sass-rails 使用这么旧的 sass 版本?
版本说明符“~> 3.1”与“>= 3.1”和“< 4.0”的含义相同,因此最新版本是向前的而不是向后的。确保从 Gemfile 中的 sass-rails 中删除任何版本说明符,然后删除 运行:
bundle update sass-rails sass
如果您没有任何其他与旧版本 sass 绑定的 gem,则应该对其进行升级。如果这不能解决问题,post 您的 Gemfile.lock 的内容,这样我们就可以看到哪些其他 gem 可能存在冲突。
PS。 sass-rails 存储库中的 gemfiles 目录用于支持在 travis-ci.org.
上针对多个版本的 sass 进行自动测试
我有一个项目需要 sass v3.4,但是 sass-rails 目前在其 sass-rails.gemspec 中有这个:
s.add_dependency 'sass', '~> 3.2.0'
最新版本(master分支)更倒退了:
s.add_dependency 'sass', '~> 3.1'
从 github,我可以看到 sass-rails 与 sass v3.4 一起工作并对其进行了测试。它还有一个奇怪的 "gemfiles" 目录,里面有一堆这样的文件 Gemfile-sass-3-4:
source "https://rubygems.org"
# Specify your gem"s dependencies in sass-rails.gemspec
gemspec path: ".."
gem "rails"
gem "sass", "~> 3.4.0"
如何使用这个文件?或者我如何利用 sass 3.4 而无需分叉 sass-rails git 存储库并仅更改它?这可能吗?
我能找到的最好的办法就是把它放在我的 Gemfile 中:
gem 'sass', '~> 3.4'
但是包更新给我这个错误:
$ bundle update sass
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies.......
Bundler could not find compatible versions for gem "sass":
In Gemfile:
sass-rails (~> 4.0.3) ruby depends on
sass (~> 3.2.2) ruby
sass (~> 3.4) ruby
还有一个(相关的)问题...为什么 sass-rails 使用这么旧的 sass 版本?
版本说明符“~> 3.1”与“>= 3.1”和“< 4.0”的含义相同,因此最新版本是向前的而不是向后的。确保从 Gemfile 中的 sass-rails 中删除任何版本说明符,然后删除 运行:
bundle update sass-rails sass
如果您没有任何其他与旧版本 sass 绑定的 gem,则应该对其进行升级。如果这不能解决问题,post 您的 Gemfile.lock 的内容,这样我们就可以看到哪些其他 gem 可能存在冲突。
PS。 sass-rails 存储库中的 gemfiles 目录用于支持在 travis-ci.org.
上针对多个版本的 sass 进行自动测试