2015-08-28 4 views
1

Я настраиваю сборку Jenkins на Windows Server 2012 R2 Standard. Часть сборки включает в себя использование НПМ для установки из package.json:Дженкинс построен на Windows Server 2012 с ошибкой из-за узла-gyp, работает из командной строки

package.json

{ 
    "name": "localtest", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "directories": { 
     "test": "test" 
    }, 
    "scripts": { 
     "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "repository": { 
     "type": "git", 
     "url": url_for_git_repo 
    }, 
    "author": "", 
    "license": "ISC", 
    "devDependencies": { 
     "extract-text-webpack-plugin": "^0.8.2", 
     "jasmine-core": "^2.3.4", 
     "karma": "^0.13.9", 
     "karma-chrome-launcher": "^0.2.0", 
     "karma-jasmine": "^0.3.6", 
     "karma-mocha-reporter": "^1.1.1", 
     "karma-phantomjs-launcher": "^0.2.1", 
     "karma-sourcemap-loader": "^0.3.5", 
     "karma-webpack": "^1.7.0", 
     "node-sass": "^3.3.1", 
     "phantomjs": "^1.9.18", 
     "raw-loader": "^0.5.1", 
     "sass-loader": "^2.0.1", 
     "webpack": "^1.12.0" 
    } 
} 

При запуске npm install из командной строки она работает успешно, но он терпит неудачу, когда Дженкинс строить попытки его. Полный выход Jenkins можно посмотреть на pastebin. Конкретная ошибка, кажется, LINK : fatal error LNK1181: cannot open input file 'C:\Windows\system32\config\systemprofile\.node-gyp\0.12.7\Release\node.lib' [C:\bld\localtest\node_modules\karma\node_modules\socket.io\node_modules\engine.io\node_modules\ws\node_modules\utf-8-validate\build\validation.vcxproj]. Папка Release на самом деле не существует в моей системе, чтобы она выглядела разумным сообщением об ошибке, отличным от того, что установка завершается успешно из командной строки (как cmd.exe, так и git bash FWIW).

С этой работой из командной строки я думаю, что проблема связана с какой-либо переменной среды или другим, или, может быть, с ней, но попыталась реплицировать путь из командной строки в сборник Jenkins. Я все еще не имел любая радость. У кого-нибудь есть предложения по тому, что я могу попробовать дальше?

UPDATE 1:

Я просто установить службу Дженкинс, чтобы войти на под моей учетной записи, а не системной учетной записи и перезапустить его. Конструкция выполнена успешно. Я думаю, что это еще более вероятно, что это проблема в переменных среды где-то.

UPDATE 2:

Я установил Environment Injector плагин для Jenkins, чтобы я мог изменить переменные среды, которые отличались между моим пользователем и пользователем системы. Это все равно привело к той же ошибке.

ответ

0

Это не очень ответ, но это то, что сработало для меня.

я в конечном итоге делает

npm uninstall -g node-gyp 

И затем удалить nodejs. Затем я вновь установлен nodejs и побежал

npm install -g node-gyp 

И строить Дженкинс теперь работает успешно