在本地运行的项目运行良好,npm install命令成功完成。我使用的是Node 11.5,最近安装的文件加载器没有问题。
但是,当我将构建推送到VSTS并运行'npm install'命令时,我在日志输出中注意到,由于某种原因,它使用的是Node 12.13,而直到现在,它一直是Node 11.5。该命令未成功完成,并失败,并显示以下内容:
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\microsoft Visual
Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code:
1
gyp ERR! stack at ChildProcess.onExit
(D:\a\1\s\Navico.Global\Navico.Global.Web\node_modules\node-
gyp\lib\build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit
(internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe"
"D:\\a\\1\\s\\Navico.Global\\Navico.Global.Web\\node_modules\\node-
gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--
libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd D:\a\1\s\Navico.Global\Navico.Global.Web\node_modules\node-
sass
gyp ERR! node -v v12.13.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm verb lifecycle node-sass@4.10.0~postinstall: unsafe-perm in lifecycle true
到目前为止,我已经尝试过:
- 提交package-lock.json,因为最初没有提交它。
- 将Node-sass从4.9更新为4.10。
- 将文件加载器添加到package.json中的依赖项。
我猜测最近添加的内容(文件加载器)导致某些内容告诉VSTS上的生成代理使用Node 12.13而不是11.5,但不确定在哪里查找。我是VSTS的新手,之前曾使用过TeamCity,如果我们在构建代理方面遇到任何问题,我们可以远程访问该代理并解决该问题,但不确定在VSTS中如何/是否可行。
任何帮助将不胜感激!
谢谢詹姆斯