【问题标题】:Getting "sudo: sass: command not found" error when using the sass --watch command in the /var/www directory在 /var/www 目录中使用 sass --watch 命令时出现“sudo: sass: command not found”错误
【发布时间】:2013-05-26 15:45:16
【问题描述】:

我正在尝试让 SASS 监视 SCSS 文件的更改。当我在任何桌面文件夹中运行 watch 命令时,它可以工作,例如sass --watch Documents/test.scss:Documents/test.css

但是当我在 /var/www 目录中运行它时,它失败了。例如,运行sass --watch /var/www/scss/test.scss:/var/www/css/test.css" 会导致以下错误:Errno::EACCES: Permission denied - /var/www/css/test.css。这可能是因为 /var/www 目录归 Apache 所有。

我尝试使用sudo sass --watch /var/www/test.scss:/var/www/test.css 命令以root 身份运行该命令,但这给了我以下错误:sudo: sass: command not found

我在 Ubuntu 12.10 和 Ruby 1.9.3 上运行它。我对两者都很陌生。

【问题讨论】:

    标签: ruby sass


    【解决方案1】:

    您的sass 二进制文件必须位于根目录的$PATH 之外的位置。以您自己的用户身份查找它的位置:

    which sass
    

    然后在您的sudo 命令中使用sass 二进制文件的完整路径。

    【讨论】:

    • 我尝试了您使用以下命令 sudo /home/user/.rvm/gems/ruby-1.9.3-p429/bin/sass --watch /var/www/test.scss:/var/www/test.css 的建议,但这给了我以下错误:/usr/bin/env: ruby_noexec_wrapper: No such file or directory。我浏览了this,但这并没有真正帮助。感谢您的帮助。
    • 那么您的sass 命令行为似乎与您的用户相关。我建议您将自己添加到 apache 的组中,以便您可以写入其目录。确保 /var/www 目录是 apache 组可写的(最好设置该目录;会自动将代表您的用户创建的文件设置为 apache 组)。
    【解决方案2】:

    您可能以用户身份安装了rvm。如果您使用sudo 运行命令,则以root 用户身份运行它,其中rvm 并没有安装整个ruby 环境。

    要解决这个问题,你可以使用rvmsudo(见http://ruby.about.com/od/rubyversionmanager/qt/Rvm-And-Sudo.htm

    【讨论】:

      猜你喜欢
      • 2017-02-20
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 2018-12-14
      • 2021-12-14
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多