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

标签 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 命令发送到服务器,该命令确实按预期安装了依赖项。

最佳答案

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

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

关于ubuntu - Grunt 在本地工作,但不能通过 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25643442/

相关文章:

image - docker ,无效的引用格式

java - JNI for java 在 ubuntu 中使用 eclipse

docker - 无法连接到位于 unix :///var/run/docker. sock 的 Docker 守护程序。 - 错误

tomcat - 如何使用 Jenkins 管道将 war 部署到tomcat?

javascript - 将 Javascript Web 应用程序转移到 Linux 应用程序

node.js - Jenkins NodeJS 插件 : can't execute 'node'

ubuntu - 在 jenkins 中配置 Docker 主机

ruby - jekyll 观看 haml 和 sass

javascript - 使用 brunch 将 etag/版本添加到 Assets

javascript - JSHint - ^ 'concise methods' 在 ES6 中可用