Node.js Jenkins在Windows Server 2012上的构建由于节点gyp而失败,可从命令行运行

Node.js Jenkins在Windows Server 2012上的构建由于节点gyp而失败,可从命令行运行,node.js,windows,jenkins,node-gyp,Node.js,Windows,Jenkins,Node Gyp,我正在Windows Server 2012 R2标准上设置Jenkins构建。构建的一部分涉及使用npm从package.json安装: package.json { "name": "localtest", "version": "1.0.0", "description": "", "main": "index.js", "directories": { "test": "test" }, "scripts": {

我正在Windows Server 2012 R2标准上设置Jenkins构建。构建的一部分涉及使用npm从package.json安装:

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构建尝试时失败。完整的Jenkins输出可在上查看。具体错误似乎是
链接:致命错误LNK1181:无法打开输入文件'C:\Windows\system32\config\systemprofile\.node gyp\0.12.7\Release\node.lib'[C:\bld\localtest\node\u modules\karma\node\u modules\socket.io\node\u modules\engine.io\node\u modules\ws\node\u modules\utf-8-validate\build\validation.vcxproj]
。文件夹
Release
实际上不存在于我的系统中,因此这似乎是一条合理的错误消息,而不是从命令行(cmd.exe和git bash FWIW)成功完成安装

从命令行开始工作时,我认为问题与某些环境变量或其他变量有关,或者与路径有关,但尝试将路径从命令行复制到Jenkins构建中后,我仍然没有任何乐趣。有人对我下一步的尝试有什么建议吗

更新1:

我刚刚将Jenkins服务设置为使用我的帐户而不是系统帐户登录,并重新启动了它。生成已成功完成。我认为这更可能是某个环境变量中的问题

更新2:


我为Jenkins安装了插件,这样我就可以更新我的用户和系统用户之间不同的环境变量。这仍然导致了同样的错误。

这不是一个很好的答案,但对我来说是可行的

我最后做了一件事

npm uninstall -g node-gyp
然后卸载nodejs。然后我重新安装了nodejs并运行

npm install -g node-gyp

Jenkins的构建现在已经成功运行了

这不是一个很好的答案,但对我来说是可行的

我最后做了一件事

npm uninstall -g node-gyp
然后卸载nodejs。然后我重新安装了nodejs并运行

npm install -g node-gyp
詹金斯构建现在正在成功运行