【问题标题】:Module build failed: TypeError: Cannot read property 'newLine' of undefined模块构建失败:TypeError:无法读取未定义的属性“newLine”
【发布时间】:2017-12-29 14:08:32
【问题描述】:

昨天一切正常,现在当我尝试 ng serve 时出现以下错误:

./src/main.ts 中的错误 模块构建失败:TypeError:无法读取未定义的属性“newLine” 在 Object.getNewLineCharacter (/Users/leongaban/Projects/TickerTags/wikitags/node_modules/typescript/lib/typescript.js:8062:20)

我尝试了herehere 的答案,但没有效果:(

angular-cli 的全局和本地 npm 版本是 1.0.0-beta.28.3 我如何将其升级到 .30?我试过@latest


我的本​​地 package.json:

"devDependencies": {
    "@angular/cli": "1.0.0-beta.28.3",
    "@angular/compiler-cli": "^2.4.0",

我的全局包:


我看到最新的是beta.32 https://github.com/angular/angular-cli/releases

但是,当我运行 npm install -g angular-cli@latest 时,它仍然会安装 .28.3

【问题讨论】:

  • 奇怪的是,我可以通过删除 node_modules 文件夹然后重新安装所有内容来解决此问题。
  • ng -v 是否为本地和全局返回相同的包?

标签: javascript angular angular-cli


【解决方案1】:

在 package.json 我改变了:

"devDependencies": {
   "@angular/cli": "1.0.0"

收件人:

"devDependencies": {
   "@angular/cli": "1.2.0"

【讨论】:

    【解决方案2】:

    操作系统:带有 Angular 4 的 Windows

    "@angular/cli": "1.2.1"

    "@angular/material": "2.0.0-beta.6"

    我刚刚从上述两个依赖项中删除了插入符号并执行了以下步骤,一切都开始正常工作了。

    1. 删除节点模块
    2. 从本地和全局卸载 Angular cli
    3. 在两者中安装相同版本的 angular cli
    4. 执行“npm 安装”
    5. "ng 服务"

    【讨论】:

      【解决方案3】:

      他们已移至 @angular/cli 包名称,以符合其他 @angular 模块。为确保您没有留下旧文件,请执行以下步骤:

      npm uninstall -g @angular/cli
      npm cache clean
      npm install -g @angular/cli@latest
      

      然后删除您本地的node_modules 文件夹并执行:

      npm install --save-dev @angular/cli@latest
      npm install
      

      最新的 Angular cli 版本是 .32。升级到较新版本仍然存在问题,但希望在下一次更新时,他们将能够控制这一点。如果没有,请重复我刚才提到的步骤

      【讨论】:

      • 谢谢,我做到了……我的全球和本地都有1.0.0-beta.32.3。再次ng serve,必须在我的angular-cli.json 文件中进行小更新。 Ran ng serve 再次出现此错误 :( 我想我必须等到下一个版本?您需要查看任何文件吗?
      • 我的"@angular/compiler-cli": "^2.4.0", 是那个版本,这有关系吗?
      【解决方案4】:

      对我有用的是:

      diff --git a/angular-cli.json b/angular-cli.json
      index d74d5d4..2641672 100644
      --- a/angular-cli.json
      +++ b/angular-cli.json
      @@ -1,7 +1,7 @@
       {
         "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
         "project": {
      -    "version": "1.0.0-beta.31",
      +    "version": "1.0.0-beta.28",
           "name": "renaissance"
         },
         "apps": [
      @@ -22,8 +22,8 @@
               "styles.less"
             ],
             "scripts": [],
      +      "environmentSource": "environments/environment.ts",
             "environments": {
      -        "source": "environments/environment.ts",
               "dev": "environments/environment.ts",
               "prod": "environments/environment.prod.ts"
             }
      diff --git a/package.json b/package.json
      index b91db8f..7e2b083 100644
      --- a/package.json
      +++ b/package.json
      @@ -12,13 +12,13 @@
         },
         "private": true,
         "dependencies": {
      -    "@angular/common": "^2.4.0",
      -    "@angular/compiler": "^2.4.0",
      -    "@angular/core": "^2.4.0",
      -    "@angular/forms": "^2.4.0",
      -    "@angular/http": "^2.4.0",
      -    "@angular/platform-browser": "^2.4.0",
      -    "@angular/platform-browser-dynamic": "^2.4.0",
      +    "@angular/common": "^2.4.8",
      +    "@angular/compiler": "^2.4.8",
      +    "@angular/core": "^2.4.8",
      +    "@angular/forms": "^2.4.8",
      +    "@angular/http": "^2.4.8",
      +    "@angular/platform-browser": "^2.4.8",
      +    "@angular/platform-browser-dynamic": "^2.4.8",
           "@angular/router": "^3.4.0",
           "@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.20",
           "angularfire2": "^2.0.0-beta.8",
      @@ -27,15 +27,14 @@
           "font-awesome": "^4.7.0",
           "moment": "^2.17.1",
           "ng2-bootstrap": "^1.3.3",
      -    "ng2-page-transition": "^0.2.6",
      +    "ng2-page-transition": "^1.0.4",
           "rxjs": "^5.0.1",
           "ts-helpers": "^1.1.1",
           "web-animations-js": "^2.2.2",
           "zone.js": "^0.7.2"
         },
         "devDependencies": {
      -    "@angular/cli": "1.0.0-beta.31",
      -    "@angular/compiler-cli": "^2.4.0",
      +    "@angular/cli": "^1.0.0-beta.32.3",
           "@types/jasmine": "2.5.38",
           "@types/node": "^6.0.42",
           "codelyzer": "~2.0.0-beta.1",
      @@ -44,8 +43,8 @@
           "karma": "1.2.0",
           "karma-chrome-launcher": "^2.0.0",
           "karma-cli": "^1.0.1",
      -    "karma-jasmine": "^1.0.2",
           "karma-coverage-istanbul-reporter": "^0.2.0",
      +    "karma-jasmine": "^1.0.2",
           "protractor": "~5.1.0",
           "ts-node": "1.2.1",
           "tslint": "^4.3.0",
      diff --git a/src/app/app.module.ts b/src/app/app.module.ts
      index 1f862c6..b6568b7 100644
      --- a/src/app/app.module.ts
      +++ b/src/app/app.module.ts
      @@ -8,7 +8,7 @@ import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
       // App modules/components
       import {LayoutsModule} from "./Components/common/layout/layout.module";
       import {BlochWidgetsModule} from "./Components/common/widgets/widgets.module";
      -import {Ng2PageTransition} from "ng2-page-transition";
      +import {Ng2PageTransitionModule} from "ng2-page-transition";
       //services
       import {PeopleHttpService} from "./Components/common/service/httpPeople.service";
       //auth Module
      @@ -30,9 +30,9 @@ import {MessagingModule} from "./views/messaging/messaging.module";
       @NgModule({
         declarations: [
           AppComponent,
      -    Ng2PageTransition,
         ],
         imports: [
      +    Ng2PageTransitionModule,
           BrowserModule,
           FormsModule,
           HttpModule,
      

      【讨论】:

      • 你能解释一下这个答案吗?我们大多数人都没有使用PeopleHttpServiceBlochWidgetsModule。在构建失败并出现错误之前,您进行了哪些更改以使构建正常工作?
      【解决方案5】:

      这对我有用:-
      rm -rf node_modules && npm cache clean && npm uninstall --save angular-cli; npm uninstall -g angular-cli; npm i --save @angular/cli && npm i -g @angular/cli && npm i

      rm -rf node_modules/ 在你的项目中删除所有 npm 东西,然后 npm cache clean 和 npm install 也应该解决这个问题。此外,请确保 cli 的版本在本地和全局匹配。

      https://github.com/angular/angular-cli/issues/3781

      【讨论】:

        【解决方案6】:

        所以安装@angular/cli@latest 没有一个对我有用,我认为很可能在未来会起作用。

        我有另一个 angular2 项目,ng serve-ing 很好。所以我只是从中复制了 package.json 依赖项并更新了 angular-cli.json。

        现在它又可以工作了!

        package.json

        "dependencies": {
            "@angular/common": "^2.4.0",
            "@angular/compiler": "^2.4.0",
            "@angular/core": "^2.4.0",
            "@angular/forms": "^2.4.0",
            "@angular/http": "^2.4.0",
            "@angular/platform-browser": "^2.4.0",
            "@angular/platform-browser-dynamic": "^2.4.0",
            "@angular/router": "^3.4.0",
            "core-js": "^2.4.1",
            "rxjs": "^5.0.1",
            "ts-helpers": "^1.1.1",
            "zone.js": "^0.7.2"
          },
          "devDependencies": {
            "@angular/cli": "1.0.0-beta.31",
            "@angular/compiler-cli": "^2.4.0",
            "@types/jasmine": "2.5.38",
            "@types/node": "^6.0.42",
            "codelyzer": "~2.0.0-beta.1",
            "css-loader": "^0.26.1",
            "jasmine-core": "2.5.2",
            "jasmine-spec-reporter": "2.5.0",
            "karma": "1.2.0",
            "karma-chrome-launcher": "^2.0.0",
            "karma-cli": "^1.0.1",
            "karma-coverage-istanbul-reporter": "^0.2.0",
            "karma-jasmine": "^1.0.2",
            "node-sass": "^4.5.0",
            "node-sass-import": "^1.1.1",
            "protractor": "~5.1.0",
            "sass-loader": "^6.0.0",
            "source-map-loader": "^0.1.6",
            "ts-node": "1.2.1",
            "tslint": "^4.3.0",
            "typescript": "~2.0.0"
          }
        

        angular-cli.json

        必须恢复到旧类型的 "source"

        "environments": {
            "source": "environments/environment.ts",
            "dev": "environments/environment.ts",
            "prod": "environments/environment.prod.ts"
        }
        

        【讨论】:

        • 这是开发经验的噩梦
        【解决方案7】:

        只需在 package.json 中更新为 "@angular/cli": "1.0.0-rc.0" "@angular/compiler-cli": "2.4.0" 并更新文件 angular-cli.json下面

        改变

        "environments": {
            "source": "environments/environment.ts",
            "dev": "environments/environment.ts",
            "prod": "environments/environment.prod.ts"
        }
        

        通过

        "environmentSource": "environments/environment.ts",
              "environments": {
                "dev": "environments/environment.ts",
                "prod": "environments/environment.prod.ts"
              }  
        

        【讨论】:

          猜你喜欢
          • 2018-04-06
          • 2019-02-01
          • 2021-06-08
          • 2018-12-12
          • 2018-09-10
          • 2020-06-10
          • 2019-01-31
          • 2021-12-17
          • 1970-01-01
          相关资源
          最近更新 更多