【问题标题】:Ruby / SASS / RVM红宝石 / SASS / RVM
【发布时间】:2016-07-13 22:32:39
【问题描述】:

我已经使用 RVM 在 RHEL 5 上安装了 ruby​​ 2.3.1。

我也安装了 SASS。

-bash-3.2$ which ruby
/usr/local/rvm/rubies/ruby-2.3.1/bin/ruby

和

-bash-3.2$ which sass
/usr/local/rvm/gems/ruby-2.3.1/bin/sass

和

-bash-3.2$ gem which sass
/usr/local/rvm/gems/ruby-2.3.1/gems/sass-3.4.22/lib/sass.rb

但是,当我尝试通过 php 脚本使用 SASS 时,出现以下错误:

/usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'sass' (>= 0.a) among 16 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/.gem/ruby/2.3.0:/usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0', execute `gem env` for more information
    from /usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/dependency.rb:328:in `to_spec'
    from /usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
    from /usr/bin/sass:22:in `<main>'
    from /usr/bin/ruby_executable_hooks:15:in `eval'
    from /usr/bin/ruby_executable_hooks:15:in `<main>'

运行 gem 环境 gempath 产生:

/usr/local/rvm/gems/ruby-2.3.1/gems/:/usr/local/rvm/gems/ruby-2.3.1/bin:/usr/local/rvm/gems/ruby-2.3.1

您可以看到错误消息中有关 GEM_PATH 的信息与上面显示的环境 gempath 的值存在冲突。

我怀疑以前版本的 ruby​​ 的一些残余会导致问题,但在这一点上我画的是空白。

调用gem env的全部结果如下:

RubyGems Environment:
- RUBYGEMS VERSION: 2.5.1
- RUBY VERSION: 2.3.1 (2016-04-26 patchlevel 112) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.3.1
- USER INSTALLATION DIRECTORY: /root/.gem/ruby/2.3.0
- RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-2.3.1/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.3.1/bin
- SPEC CACHE DIRECTORY: /root/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /usr/local/rvm/rubies/ruby-2.3.1/etc
- RUBYGEMS PLATFORMS:
  - ruby
  - x86_64-linux
- GEM PATHS:
  - /usr/local/rvm/gems/ruby-2.3.1
  - /usr/local/rvm/gems/ruby-2.3.1/gems/
  - /usr/local/rvm/gems/ruby-2.3.1/bin
- GEM CONFIGURATION:
  - :update_sources => true
  - :verbose => true
  - :backtrace => false
  - :bulk_threshold => 1000
- REMOTE SOURCES:
  - https://rubygems.org/
- SHELL PATH:
  - /usr/kerberos/sbin
  - /usr/local/rvm/gems/ruby-2.3.1/bin
  - /usr/local/rvm/gems/ruby-2.3.1@global/bin
  - /usr/local/rvm/rubies/ruby-2.3.1/bin
  - /usr/kerberos/bin
  - /usr/local/bin
  - /bin
  - /usr/bin
  - /usr/local/rvm/bin
  - /opt/dell/srvadmin/bin
  - /opt/dell/srvadmin/sbin

任何帮助甚至尝试的事情都将不胜感激。

谢谢!

【问题讨论】:

  • 您能否详细说明“通过 php 脚本使用 SASS”。贴出导致错误的代码行或命令。
  • $cmd = "echo \"" . $src . "\" | sass --scss --no-cache -s";
  • 其中 $src 是要转换的 SCSS 字符串。

标签: ruby


【解决方案1】:

您的 php 脚本正在运行的用户看到了错误的 ruby​​ 版本,您还没有为其安装 sass。尝试让您的脚本在任何其他命令之前调用这些 bash 命令,以确保它使用已设置的一个 rvm:

source "/usr/local/rvm/scripts/rvm"
rvm use 2.3.1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-22
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2014-06-02
    • 1970-01-01
    相关资源
    最近更新 更多