【问题标题】:Cannot find module '@angular/forms'找不到模块'@angular/forms'
【发布时间】:2016-07-19 18:27:24
【问题描述】:

我正在开发一个 Ionic 2/Angular 应用程序,并且我正在尝试按照本教程使用表单验证: https://angular.io/docs/ts/latest/cookbook/dynamic-form.html

但是编译器说:

找不到模块“@angular/forms”。

为什么这个模块不可用?是否已弃用?

【问题讨论】:

  • systemjs.config.js 是否包含 @angular/forms 引用?我的意思是,你是通过systemjs 加载的吗?
  • 不,我没有。它不包含 systemjs.config.js,甚至在 node_modules/@angular 中也不可用。我需要从 npm 安装它吗?这是一个 Ionic 2 模板,通过 'ionic start' 命令安装并使用 gulp。
  • 对不起,我不是离子型的人。最好等别人回复。
  • 虽然它是一个 Ionic 2 项目,但我认为 Angular 的东西一定是相似的。在 node_modules/@angular 文件夹内不应该是表单文件夹吗? – Natanael 16 秒前编辑
  • 你用的是哪个版本的Angular2?

标签: forms validation angular ionic2


【解决方案1】:

我遇到了同样的问题,我的解决方案是:

1) 在 package.json 中添加表单:

"dependencies": {
...
"@angular/forms":   "0.2.0",
...
}

2) 在控制台中使用 npm 安装,在 app 文件夹中输入

npm install

3) 再次运行应用程序

npm start

希望对你有帮助

【讨论】:

  • Vielen Dank Mein Freund :) !
【解决方案2】:

试试npm install @angular/forms --save

它会警告你应该使用 2.0.0-rc.4。这可能伴随着它自己的一系列升级挑战......

【讨论】:

    【解决方案3】:

    有时在更新版本时我会看到这样的消息:

    npm ERR! errno -4048
    npm ERR! syscall rename
    npm ERR! Error: EPERM: operation not permitted, rename 'R:\TFS\RRCRM\RRCRM\node_modules\@angular\forms' -> 'R:\TFS\RRCRM\RRCRM\node_modules\@angular\.forms.DELETE'
    npm ERR!     at Error (native)
    npm ERR!  { [Error: EPERM: operation not permitted, rename 'R:\TFS\RRCRM\RRCRM\node_modules\@angular\forms' -> 'R:\TFS\RRCRM\RRCRM\node_modules\@angular\.forms.DELETE']
    npm ERR!   errno: -4048,
    npm ERR!   code: 'EPERM',
    npm ERR!   syscall: 'rename',
    npm ERR!   path: 'R:\\TFS\\RRCRM\\RRCRM\\node_modules\\@angular\\forms',
    npm ERR!   dest: 'R:\\TFS\\RRCRM\\RRCRM\\node_modules\\@angular\\.forms.DELETE',
    npm ERR!   parent: 'rrcrm' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    npm ERR! Please include the following file with any support request:
    npm ERR!     R:\TFS\RRCRM\RRCRM\npm-debug.log
    

    我相信有时可能是由于文件使用中的错误(我以管理员身份在 Windows 上运行 Visual Studio)。

    确保没有运行任何可能对任何包有文件锁定的东西 - 例如 angular CLI。所以关闭所有窗口或进程并再次运行npm install 之类的东西。

    【讨论】:

      【解决方案4】:

      解决问题的方法是:使用cmd npm install @angular/forms --save

      然后去 package.json 仔细检查确保 @angular/forms: "YOUR VERSION", => 保存它

      重置 IDE 工具并返回 app.module.ts 删除并再次重新键入。很重要。

      谢谢

      【讨论】:

        【解决方案5】:

        我遇到了一个奇怪的情况,我无法进行 npm 安装,不得不从共享路径复制库。复制 node_modules/@angaular 下的“forms”文件夹解决了这个问题。

        【讨论】:

          【解决方案6】:

          Is import { FormsModule } from '@angular/forms'; 被注入 app.module.ts 并在 import 中添加 FormsModule 数组,如下所示

              app.module.ts
              import { BrowserModule } from '@angular/platform-browser';
              import { NgModule } from '@angular/core';
              import { FormsModule } from '@angular/forms';
          
          
              imports: [
                BrowserModule,
                FormsModule
              ]
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-12-14
            • 2018-06-25
            • 1970-01-01
            • 1970-01-01
            • 2018-12-08
            • 2017-04-29
            • 2017-07-23
            • 1970-01-01
            相关资源
            最近更新 更多