我的Azure yaml管道中有NodeTool和UseNode步骤:
steps:
- task: NodeTool@0
displayName: 'set node v16.19.0'
inputs:
versionSource: 'spec'
versionSpec: '16.19.0'
- task: UseNode@1
displayName: 'use node v16.19.0'
inputs:
version: '16.19.0'
- script: |
sudo node -v
displayName: 'Node Version'
workingDirectory: $(Build.SourcesDirectory)
- script: |
sudo npm run build -- --mode $(NPM_BUILD_MODE)
displayName: 'Building SPA with NPM'
但是当我运行管道时,Node Version
步骤输出:
v18.14.1
Building SPA with NPM
步进结束时输出:
Node.js v18.14.1
如果NodeTool
不这样做,我如何强制构建机器使用我想要的节点版本?
1条答案
按热度按时间zwghvu4y1#
我的Azure管道中的NodeTool遇到了相同的问题:
简要答复
这是因为脚本使用了sudo node -v而不是node -v,sudo node -v从root用户处选取节点版本。
基本上,NodeTool下载并更新当前用户的节点路径,但仍将根用户的节点保留为默认版本或最新LTS版本。
详细答案
更改以下内容
致:
这是因为它为root用户(sudo)选择最新的节点版本