2015-08-28 79 views
1

我在Windows Server 2012 R2 Standard上設置了Jenkins構建版。構建的一部分包括使用NPM從安裝的package.json:Jenkins構建於Windows Server 2012由於node-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構建我還沒有任何喜悅。有沒有人有任何建議,我可能會嘗試下一步?

更新1:

我剛剛設置的詹金斯服務我的帳戶登錄,而不是系統帳戶並重新啓動它。構建成功完成。我認爲這更可能是這是環境變量的問題。

更新2:

我安裝了Environment Injector插件詹金斯這樣我就可以更新它是我的用戶和系統用戶之間不同的環境變量。這仍然導致相同的錯誤。

回答

0

這不是一個很大的答案,但它是爲我制定的。

我落得這樣做

npm uninstall -g node-gyp 

然後卸載的NodeJS。我再重新安裝和的NodeJS跑

npm install -g node-gyp 

而詹金斯構建現已成功運行

相關問題