在CI环境中执行Bower,例如Jenkins

Seb*_*ien 5 continuous-integration build-process jenkins bower

我的詹金斯在运行上CentOS 6node.js 0.10.15bower 1.0.3.

我有一个执行以下任务的shell任务:

npm install
bower install
grunt clean package
Run Code Online (Sandbox Code Playgroud)

在构建时,凉亭安装失败:

+ bower install

path.js:360
        throw new TypeError('Arguments to path.join must be strings');
              ^
TypeError: Arguments to path.join must be strings
    at path.js:360:15
    at Array.filter (native)
    at Object.exports.join (path.js:358:36)
    at Object.<anonymous> (/usr/lib/node_modules/bower/node_modules/
                           update-notifier/node_modules/configstore/configstore.js:9:7)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)

Build step 'Execute shell' marked build as failure
Run Code Online (Sandbox Code Playgroud)

当我bower install以Jenkins用户身份登录时在终端中执行时,它可以工作.其他提到的命令按预期工作(npm,grunt).

有任何想法吗?

pas*_*ssy 4

看来您的执行环境既没有$XDG_CONFIG_HOME也没有$HOME设置为环境变量。

您可以通过手动设置来解决此问题,例如设置为当前工作区:

export XDG_CONFIG_HOME="$WORKSPACE/.config"
...
bower install
Run Code Online (Sandbox Code Playgroud)