【问题标题】:Grunt works locally, but not via SSHGrunt 在本地工作,但不能通过 SSH
【发布时间】:2014-09-03 11:44:07
【问题描述】:

我有一台 Jenkins 服务器通过 SSH 向另一台机器发送命令以部署网站,作为此过程的一部分,我使用 Grunt 构建 SASS。如果我登录到服务器并运行“grunt build-dev”它工作正常,但是如果我使用以下命令通过 SSH 将命令发送到同一台服务器

ssh myserver.org 'cd /var/www/myserver.org/htdocs/sites/all/themes/myserver; grunt build-dev'

我收到如下错误;

npm WARN package.json server@1.0.0 No README data
Running "sass:dev" (sass) task
Warning: 
You need to have Ruby and Sass installed and in your PATH for this task to work.
More info: https://github.com/gruntjs/grunt-contrib-sass
 Use --force to continue.

Aborted due to warnings.

我使用 npm install 为 Grunt 添加依赖项,但没有成功,我还尝试将 npm install 添加到 SSH 命令发送到服务器,该命令确实按预期安装依赖项。

【问题讨论】:

  • 通常的原因是环境变量 - PATH 变量似乎没有包含必要的项目。 ssh remote 'echo $PATH' 将帮助您入门。

标签: ubuntu jenkins gruntjs npm sysadmin


【解决方案1】:

正如 jim mcnamara 在回答我的问题时指出的那样,问题确实是 PATH 变量的问题。我设法在another Stack Overflow question 的帮助下解决了这个问题。我在 SSH 命令的开头添加了source /etc/profile

或者,我也可以使用 RVM 全局安装 Ruby/Sass,而不是本地安装 SSH。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多