NG_PERSISTENT_BUILD_CACHE=1 ng 服务不工作

NG_PERSISTENT_BUILD_CACHE=1 ng serve not working

我正在尝试使用 angular 提供的持久构建缓存功能,但看起来它对我不起作用,我正在尝试以下命令

NG_PERSISTENT_BUILD_CACHE=1 ng serve

它总是returns低于错误

'NG_PERSISTENT_BUILD_CACHE' 不是内部或外部命令,也不是可运行的程序或批处理文件。

我正在使用 angular cli 版本 12.2.15。我不确定我错过了什么。下面是我的 packages.json 文件

"dependencies": {
    "@agm/core": "^1.1.0",
    "@angular-devkit/core": "^12.2.15",
    "@angular/animations": "^12.2.15",
    "@angular/common": "^12.2.15",
    "@angular/compiler": "^12.2.15",
    "@angular/core": "^12.2.15",
    "@angular/forms": "^12.2.15",
    "@angular/platform-browser": "^12.2.15",
    "@angular/platform-browser-dynamic": "^12.2.15",
    "@angular/platform-server": "^12.2.15",
    "@angular/pwa": "^0.1100.2",
    "@angular/router": "^12.2.15",
    "@angular/service-worker": "^12.2.15",
    "@auth0/angular-jwt": "5.0.2",
    "@ng-bootstrap/ng-bootstrap": "^8.0.0",
    "@nguniversal/module-map-ngfactory-loader": "^8.1.1",
    "@ngx-translate/core": "^13.0.0",
    "@ngx-translate/http-loader": "^6.0.0",
    "@types/ckeditor": "^4.9.10",
    "@types/hammerjs": "^2.0.36",
    "@types/jest": "^26.0.15",
    "@types/node": "^14.14.10",
    "@types/papaparse": "^5.3.1",
    "@webcomponents/shadydom": "^1.9.0",
    "acorn": "^8.0.4",
    "angular-chart.js": "^1.1.1",
    "angular-file-uploader": "7.0.3",
    "angular-mydatepicker": "^0.10.2",
    "angular-ng-autocomplete": "^2.0.1",
    "angular-split": "4.0.0",
    "angular2-datetimepicker": "^1.1.1",
    "angular2-text-mask": "9.0.0",
    "aspnet-prerendering": "^3.0.1",
    "bootstrap": "^4.5.3",
    "ckeditor": "4.12.1",
    "core-js": "^3.8.0",
    "events": "^3.2.0",
    "export-to-csv": "^0.2.1",
    "first": "0.0.3",
    "fullcalendar": "^4.0.0-alpha.4",
    "fullcalendar-scheduler": "^4.0.0-alpha.4",
    "hammerjs": "^2.0.8",
    "highcharts": "^8.2.2",
    "html2canvas": "^1.0.0-rc.7",
    "jquery": "^3.5.1",
    "jspdf": "^2.1.1",
    "jw-angular-social-buttons": "^1.0.0",
    "mdn-polyfills": "^5.20.0",
    "moment-mini-ts": "^2.20.1",
    "ng-multiselect-dropdown": "^0.2.10",
    "ng2-ckeditor": "^1.2.9",
    "ng2-date-picker": "11.0.0",
    "ng2-pdf-viewer": "6.2.0",
    "ng2-slim-loading-bar": "^4.0.0",
    "ng4-loading-spinner": "^1.2.3",
    "ng5-slider": "^1.2.6",
    "ng9-password-strength-bar": "^1.0.0",
    "ngx-bootstrap": "6.2.0",
    "ngx-color-picker": "^10.1.0",
    "ngx-countdown": "11.0.0",
    "ngx-device-detector": "^1.5.2",
    "ngx-drag-drop": "^2.0.0",
    "ngx-fullcalendar": "^5.0.0-alpha.1",
    "ngx-hm-sortable": "^1.0.0",
    "ngx-img-cropper": "^10.0.0",
    "ngx-infinite-scroll": "^10.0.0",
    "ngx-mask": "11.1.4",
    "ngx-mega-simple-drag-drop-list": "^1.0.8",
    "ngx-order-pipe": "^2.1.1",
    "ngx-papaparse": "^5.0.0",
    "ngx-print": "^1.2.0-beta.5",
    "ngx-select-dropdown": "^1.4.4",
    "ngx-sortable": "^1.0.3",
    "ngx-sortablejs": "^10.0.0",
    "ngx-toastr": "^13.1.0",
    "papaparse": "^5.3.0",
    "pdfjs-dist": "2.3.200",
    "rxjs": "^6.6.3",
    "rxjs-compat": "^6.6.3",
    "signature_pad": "^3.0.0-beta.4",
    "sortablejs": "^1.12.0",
    "ts-deferred": "^1.0.4",
    "tslib": "^2.2.0",
    "webpack-bundle-analyzer": "^4.1.0",
    "xlsx": "^0.17.4",
    "zone.js": "~0.11.4",
    "zxcvbn": "^4.4.2"
  },

这是我使用 ng v 命令检查包版本时的快照

您似乎正在使用 Windows cmd 到 运行 命令,因此出现错误。

命令:

NG_PERSISTENT_BUILD_CACHE=1 ng serve

适用于类 Unix 系统,不适用于 Windows cmd.


您可以使用以下任何方法使其工作:

  • 先设置环境变量然后运行命令
// 1st command to set the environment variable
set NG_PERSISTENT_BUILD_CACHE=1

// 2nd command
ng serve
  • 运行 两个命令都在一个步骤中
set NG_PERSISTENT_BUILD_CACHE=1&&ng serve
  • 在 package.json 脚本中添加以下命令,然后 运行 npm start
"scripts": {
  "start": "set NG_PERSISTENT_BUILD_CACHE=1&&ng serve",
  ...
}

PS: 在上述所有方法中,环境变量值都是为 cmd 会话设置的,我们在其中 运行 命令.如果要全局设置环境变量,可以通过在环境变量对话框中添加系统变量来实现。 (系统属性 -> 环境变量 -> 系统变量)。