我在我的mac build代理上安装了sass。附上批准:这是从我的机器输出
ep@ep2:~$ sass -v
Sass 3.3.8 (Maptastic Maple)
ep@ep2:~$ sass --help
Usage: sass [options] [INPUT] [OUTPUT]
Description:
Converts SCSS or Sass files to CSS.
Options:
-s, --stdin Read input from standard input instead of an input file
--trace Show a full traceback on error
--unix-newlines Use Unix-style newlines in written files.
--scss Use the CSS-superset SCSS syntax.
--watch Watch files or directories for changes.
The location of the generated CSS can be set using a colon:
sass --watch input.sass:output.css
sass --watch input-dir:output-dir
--update Compile files or directories to CSS.
Locations are set like --watch.
并将其写入bash_profile:
Users/ep/.rvm/bin:~/.gem/ruby/1.8/bin
当我尝试在詹金斯执行我的工作时,它失败了
14:18:34 /bin/sh -c sass\ -f\ -C\ ${INPUT_FILE_PATH}\ ${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.css
14:18:34 /bin/sh: sass: command not found
14:18:34 Command /bin/sh failed with exit code 127
我做了一些调查,并将此属性添加到jenkins节点propey并检查用户,用户运行脚本它与我安装gem的人相同。
如何解决?
答案 0 :(得分:0)
当Jenkins执行构建脚本时,工具sass
可能不在shell PATH中。
你应该:
请注意,通过更改shell初始化文件来修改PATH通常是使用Jenkins执行此操作的错误方法。当Jenkins执行一个shell时,它不是一个交互式登录shell,它们通常会跳过初始化文件,如.profile或.bashrc或bash_profile。详细信息可以在shell手册页中找到。
最好将PATH添加到Jenkins配置,以便主配置(如果作业在主服务器上执行)或从服务器配置(如果作业在从服务器上执行)。在配置中选中标题为"环境变量"的框。并为所需的环境变量添加名称和值。
使用命令env
开始构建脚本可能并不是一个坏主意,它会打印所有环境变量。通常它会使这样的调试问题变得更加容易。