Grunt在本地工作,但不能通过SSH工作

时间:2014-09-03 11:44:07

标签: ubuntu jenkins gruntjs npm sysadmin

我有一台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命令发送到服务器,该服务器按预期安装了依赖项。

1 个答案:

答案 0 :(得分:1)

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

或者我可能已经使用RVM来全局安装Ruby / Sass而不是本地安装SSH。