【问题标题】:Can't install compass via rvm无法通过 rvm 安装指南针
【发布时间】:2013-11-28 06:52:15
【问题描述】:

在 Ubuntu 11.10 中,我是一个快乐且无忧无虑的指南针用户。我升级到 12.04 遇到了这个问题:Compass (ruby) encoding error

我设法通过 rvm 在我的一台计算机上安装 ruby​​ 解决了这个问题,但现在我在另一台计算机上遇到了不同的错误(它有相同的初始问题)。我安装了 ruby​​ 和 compass 并默认使用全局 gemset:

    gem list

*** LOCAL GEMS ***

bundler (1.1.3)
chunky_png (1.2.5)
compass (0.12.1)
fssm (0.2.9)
rake (0.9.2.2)
rubygems-bundler (1.0.0)
rvm (1.11.3.3)
sass (3.1.18)

但是当我尝试用指南针做任何事情时,我得到了这个错误:

    compass
/home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler/shared_helpers.rb:22:in `default_gemfile': Could not locate Gemfile (Bundler::GemfileNotFound)
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:213:in `default_gemfile'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:164:in `root'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:123:in `load'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:114:in `setup'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:119:in `require'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/compass-0.12.1/bin/compass:25:in `<top (required)>'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/bin/compass:19:in `load'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/bin/compass:19:in `<main>'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/bin/ruby_noexec_wrapper:14:in `eval'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/bin/ruby_noexec_wrapper:14:in `<main>'

感谢您的帮助。

【问题讨论】:

    标签: ruby rvm compass-sass


    【解决方案1】:

    这似乎是刚刚发布的新版 ruby​​gems-bundler 的问题。安装以前的版本 (gem install -v 0.9.2 rubygems-bundler) 为我修复了它。

    编辑:我还运行了rubygems-bundler-uninstaller,这可能是修复的真正来源。

    【讨论】:

    • 这是 compass 中的错误,我已在此处修复 github.com/chriseppstein/compass/pull/894 - 等待合并,这只是临时解决方案。
    • 确认运行 rubygems-bundler-uninstaller 也对我有用。
    • 也在确认 - 但在 osx lion 上。
    【解决方案2】:

    我今天在使用 Mountain Lion 的 Mac 上安装 Compass/SASS/RVM 时遇到了这个问题。

    我无法让 ruby​​gems-bundler-uninstaller 运行/卸载,所以我必须执行以下操作:

    1. 切换到 rvm 全局 gemset 并卸载 ruby​​gems-bundler rvm ruby​​-1.9.3-p194@global 然后 gem 卸载 ruby​​gems-bundler

    2. 然后切换回我的另一个 gemset - rvm ruby​​-1.9.3-p194,现在运行 compass 或 sass 或任何 gem 工作

    不确定这是否是正确的做事方式,但它对我有用。希望对某人有所帮助。

    【讨论】:

      【解决方案3】:

      这是 compass 中的一个错误,它假定 Bundler 的存在意味着调用了 Bundler.setup

      以下是打破它的行https://github.com/chriseppstein/compass/blob/stable/bin/compass#L24-L26

      24 if defined?(Bundler)
      25   Bundler.require :assets
      26 end
      

      【讨论】:

      • 我需要使用 Compass 的 bundler 还是可以直接卸载它?
      • 你需要bundler 来处理Gemfile - 如果你不这样做 - 删除这个文件。
      【解决方案4】:

      如果您正在使用 yeoman 构建一个基于节点的应用程序,而该应用程序恰好想要使用 compass,您可以禁用这些类型的应用程序的 Gemfile 要求。

      只需将此行添加到您的~/.bash_profile

      export NOEXEC_EXCLUDE="compass"
      

      运行source ~/.bash_profile 并重试。我在 yeoman 生成的 Angular 项目(不需要 Gemfile)上运行 grunt server 时遇到了这个问题。

      https://github.com/mpapis/rubygems-bundler#disabling-executables

      【讨论】:

        猜你喜欢
        • 2017-02-14
        • 2014-11-30
        • 1970-01-01
        • 2015-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多