【问题标题】:Can't use compass after installing it指南针安装后无法使用
【发布时间】:2014-01-12 19:37:54
【问题描述】:

我似乎无法使用this Vagrantfile 让指南针在 Vagrant 上工作。请在此处查看其余使用的 bash 脚本(已删除 repo)(如果您想配置 Vagrant Ubuntu Box,请参阅 Vaprobash!)。

所以当我不得不使用grunt server 时,我正在学习 gruntjs 课程。唯一的问题是它需要更新的 ruby​​ 版本(我相信是 1.9+ 而不是 1.8)并且它需要指南针。所以我通过安装 RVM 和安装最新的稳定版本解决了 ruby​​ 部分。指南针应该很容易获得gem install compass 并且它似乎已安装。但是当我输入 compass -v 时,我得到了休闲错误:

/home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- sass/script/node (LoadError)
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `<top (required)>'
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in `block in <top (required)>'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `each'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `<top (required)>'
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in `<top (required)>'
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:5:in `block in <top (required)>'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:4:in `each'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:4:in `<top (required)>'
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:20:in `block in <top (required)>'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:8:in `fallback_load_path'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:19:in `<top (required)>'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/compass:23:in `load'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/compass:23:in `<main>'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval'
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>'

所以我不确定出了什么问题,除了错误告诉我它缺少文件。有人对可能是什么问题有一些提示吗?

.bash_profile 包含路径信息:

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

rvm -vruby -v 工作正常,安装后 gem install compass sass -v 似乎也可以工作。

您可以使用 Vagrant 和 VirtualBox 复制所有内容。只需从上面提到的我的 github 和 vagrant up 下载 Vagrantfile。

【问题讨论】:

    标签: ruby ubuntu rvm vagrant compass-sass


    【解决方案1】:

    我在官方指南针Github问题页面上寻求帮助并得到了这个问题的答案。

    GitHub问题是对的here

    如何解决这个问题:

    在安装 compass (v0.12.2) 时,它会下载最新的 sass v3.3.0.rc3(因为它是一个依赖项),但 compass 不能与最新的 sass 一起使用。您可以将 compass 升级到最新的 alpha 版本 (0.13.*) 或将 sass 降级到 3.2.*。我选择最后一个:

    gem uninstall sass --version 3.3.0.rc.3
    gem install sass --version 3.2.18
    compass -v # Working :)
    

    确保使用已安装的版本。通过键入以下内容找出:

    sass --version
    

    【讨论】:

    • 我在尝试使用 stock ruby​​ 在 Mac OS X Mavericks 上安装时遇到了一个非常相似的问题,这些步骤解决了它,谢谢!
    • 太棒了!我已经找了一段时间了。顺便说一句,我在 Ubuntu 上!
    【解决方案2】:

    看看这个答案https://stackoverflow.com/a/21082978/497756 - 它是针对其他问题的,但也应该解决你的问题。

    【讨论】:

    • 好的,所以在新的 Vagrant box 配置和ls $GEM_HOME/wrappers/compass = /home/vagrant/.rvm/gems/ruby-2.1.0/wrappers/compass 的输出之后,我放松了每一步。不知道如何处理结果。使用 `compass -v' 时我仍然遇到同样的错误。顺便说一句,如果你是这样想的,我没有使用 Codekit?
    • 试试/home/vagrant/.rvm/gems/ruby-2.1.0/wrappers/compass -v
    • 是的,我也试过了,得到了同样的结果。我还想说我没有使用任何sudo,但如果我使用sudo gem listgem list,我会得到2 个不同的列表。指南针但是我只安装在没有sudo 的列表中,所以这似乎是正确的。
    • 那么你应该检查/home/vagrant/.rvm/gems/ruby-2.1.0/environment/home/vagrant/.rvm/gems/ruby-2.1.0/wrappers/compass也许有一个错误?
    猜你喜欢
    • 2014-11-30
    • 2017-02-14
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2014-05-17
    • 2016-01-07
    相关资源
    最近更新 更多