同时在同一台机器上构建 angular 的不同版本

Building different versions of angular in same machine at same time

我知道我可以 select 节点版本与 NVM 一起使用但是,我可以同时构建两个 angular 项目(具有不同的 ng 版本和节点版本)而不问题?我的场景是一个带有两个代理的自托管构建服务器 (Windows)。他们中的每一个都可能同时负责构建具有不同版本的 Angular 应用程序。

此致

当然可以,而不是 运行 全局安装 ng 运行 像这样 npx ng build 使用 npx 的本地安装,npx 将使用本地安装的 @ angular/cli 在项目的 ./node_modules/.bin/ 下找到 ng 命令,npx 随 npm 安装。

另一种选择是在 package.json 中添加脚本:

"scripts": {
    "build": "ng build --prod=true --build-optimizer=true --aot=true",
},

并且 运行 与 npm run build 相比较。

正如@Andrei 所述,无法使用 NVM 在管道的开头设置节点版本,因为它会更改所有打开的控制台中的版本(因此,如果另一个具有不同节点版本的管道是 运行宁,会受到影响)。

幸运的是,我找到了一个简单的解决方法,不需要安装额外的工具或更改 package.json:

  1. node version you want 下载为 zip 文件
  2. 解压到Agent中的一个文件夹(如C:\LocalNode\node-v17.8.0-win-x64)
  3. 将节点路径添加到 PATH 环境变量 仅适用于当前管道

要仅为当前管道添加节点路径,我们必须使用当前命令将 Powershell 任务添加为管道的第一个任务:

Write-Host ("##vso[task.setvariable variable=Path;]D:\LocalNode\node-v17.8.0-win-x64;$Env:Path")

管道的其余任务将使用 D:\LocalNode\node-v17.8.0-win-x64

中的节点版本

如果要为不同的 Node 版本创建管道,只需将版本添加到 D:\LocalNode 并使用带有正确路径的上述命令作为管道的第一个任务。如果两个管道同时 运行 没问题。