1

指南针框架无法加载/找到“singularitygs”框架/扩展:

我通过 RubyGem 安装了这些软件包:

gem list compass && gem list singularity && gem list breakpoint

这给了我以下信息:

*** LOCAL GEMS ***

compass (1.0.0.alpha.18)
compass-core (1.0.0.alpha.17)
compass-import-once (1.0.2)

*** LOCAL GEMS ***

singularitygs (1.1.2)

*** LOCAL GEMS ***

breakpoint (2.4.1)

compass:dev我的 Gruntfile的任务:

compass:
  dev:
    options:
      trace: true
      require: ['singularitygs']
      sassDir: '<%= dir.sass %>'
      cssDir: '<%= dir.css %>'
      environment: 'development'

结果:

Running "compass:dev" (compass) task
LoadError on line 51 of /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb: no such file to load -- singularitygs
Run with --trace to see the full backtrace
Warning: ↑ Use --force to continue.

Aborted due to warnings.

接下来我尝试了一个config.rb文件:

compass:
  dev:
    options:
      trace: true
      config: 'config.rb'
      sassDir: '<%= dir.sass %>'
      cssDir: '<%= dir.css %>'
      environment: 'development'

具有以下内容:

require 'singularitygs'

就是这样,结果如下:

Running "compass:dev" (compass) task
LoadError on line 51 of /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb: no such file to load -- singularitygs
  /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:51:in `require'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/data.rb:161:in `require'
  config.rb:1:in `get_binding'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:20:in `get_binding'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:23:in `parse_string'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:15:in `_parse'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:14:in `open'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:14:in `_parse'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/file_data.rb:7:in `new_from_file'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/inheritance.rb:204:in `with_defaults'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/file_data.rb:6:in `new_from_file'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/helpers.rb:42:in `configuration_for'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/helpers.rb:97:in `add_project_configuration'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/commands/project_base.rb:31:in `add_project_configuration'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/commands/project_base.rb:25:in `configure!'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/commands/project_base.rb:15:in `initialize'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/commands/update_project.rb:37:in `initialize'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/exec/sub_command_ui.rb:42:in `new'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/exec/sub_command_ui.rb:42:in `perform!'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/exec/sub_command_ui.rb:15:in `run!'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/bin/compass:30
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/bin/compass:44:in `call'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/bin/compass:44
  /usr/bin/compass:23:in `load'
  /usr/bin/compass:23
Warning: ↑ Use --force to continue.

Aborted due to warnings.

因此,我检查了 Compass 是否compass frameworks --trace在另一个目录中有该框架:

Available Frameworks & Patterns:

  * blueprint
    - blueprint/basic      - A basic blueprint install that mimics the actual blueprint css.
    - blueprint/buttons    - Button Plugin
    - blueprint/link_icons - Icons for common types of links
    - blueprint/project    - The blueprint framework.
    - blueprint/semantic   - The blueprint framework for use with semantic markup.
  * compass
    - compass/ellipsis     - Plugin for cross-browser ellipsis truncated text.
    - compass/extension    - Generate a compass extension.
    - compass/pie          - Integration with http://css3pie.com/
    - compass/project      - The default project layout.

如果我在文件compass frameworks --trace所在的根目录中执行相同的命令config.rb,我将得到相同的错误:

LoadError on line 51 of /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb: no such file to load -- singularitygs
  /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:51:in `require'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/data.rb:161:in `require'
  /Users/darius/Code/www/voidplus.de/www/config.rb:1:in `get_binding'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:20:in `get_binding'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:23:in `parse_string'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:15:in `_parse'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:14:in `open'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/serialization.rb:14:in `_parse'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/file_data.rb:7:in `new_from_file'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/inheritance.rb:204:in `with_defaults'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/file_data.rb:6:in `new_from_file'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/helpers.rb:42:in `configuration_for'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/configuration/helpers.rb:97:in `add_project_configuration'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/commands/project_base.rb:31:in `add_project_configuration'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/commands/project_base.rb:25:in `configure!'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/commands/project_base.rb:15:in `initialize'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/commands/list_frameworks.rb:7:in `initialize'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/exec/sub_command_ui.rb:42:in `new'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/exec/sub_command_ui.rb:42:in `perform!'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/lib/compass/exec/sub_command_ui.rb:15:in `run!'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/bin/compass:30
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/bin/compass:44:in `call'
  /Library/Ruby/Gems/1.8/gems/compass-0.12.2/bin/compass:44
  /usr/bin/compass:23:in `load'
  /usr/bin/compass:23

我不知道,我可以尝试解决这个问题。此外,我卸载并安装了所有 gem 文件但没有成功。也许这是错误的宝石环境gem env

 - RUBYGEMS VERSION: 2.2.2
  - RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [x86_64-darwin12.4.0]
  - INSTALLATION DIRECTORY: /usr/local/Cellar/ruby/2.0.0-p247/lib/ruby/gems/2.0.0
  - RUBY EXECUTABLE: /usr/local/Cellar/ruby/2.0.0-p247/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/Cellar/ruby/2.0.0-p247/bin

感谢您的帮助和提示,大流士

4

2 回答 2

2

Singularity 1.1.2 与 Compass 1.0.0 不兼容。不过,我们有 Singularity 1.2.0 的预发布版本。

Gem 兼容性问题正是我们推荐使用 Bundler来管理 gem 版本的原因。如果您想在 Compass 1.0.0 中使用 Singularity,请执行以下操作:

  1. (sudo) gem install bundler
  2. Gemfile在项目的根目录下创建一个文件 ,并添加以下内容:

    source 'http://rubygems.org'
    gem 'singularitygs', '~>1.2.0.rc.6'
    
  3. bundle install --path vendor

  4. 忽略vendor版本控制系统中的目录(如果使用 Git,请添加./vendor.gitignore文件中)
  5. 添加bundleExec: true到您的compass:dev Grunt 任务
于 2014-02-17T12:58:15.997 回答
0

我将 Ruby 从降级2.0.01.9.3viarbenv并解决了问题。

于 2014-02-17T17:43:21.297 回答