Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 角6和业力';“无法加载”@角度devkit/build angular";,它没有注册';_Node.js_Angular_Karma Runner - Fatal编程技术网

Node.js 角6和业力';“无法加载”@角度devkit/build angular";,它没有注册';

Node.js 角6和业力';“无法加载”@角度devkit/build angular";,它没有注册';,node.js,angular,karma-runner,Node.js,Angular,Karma Runner,我不得不迁移到最新的角度版本。在那之后,业力测试停止工作,并继续使用错误日志: 14 04 2018 14:17:00.453:错误[预处理]:无法加载“@angular devkit/build angular”,未注册! 也许你缺少一些插件 …\parkardrest ui\node\u modules\@angular devkit\build angular\src\angular cli files\plugins\packages\angular\u devkit\build\u a

我不得不迁移到最新的角度版本。在那之后,业力测试停止工作,并继续使用错误日志:

14 04 2018 14:17:00.453:错误[预处理]:无法加载“@angular devkit/build angular”,未注册! 也许你缺少一些插件

…\parkardrest ui\node\u modules\@angular devkit\build angular\src\angular cli files\plugins\packages\angular\u devkit\build\u angular\src\angular cli files\plugins\karma.ts:52 const options=config.buildWebpack.options; ^TypeError:无法读取未定义的属性“options” 在init(…\parkandrest ui\node\u modules\@angular devkit\build angular\src\angular cli files\plugins\packages\angular\u devkit\build\u angular\src\angular cli files\plugins\karma.ts:52:39) 在Array.invoke(…\parkandrest ui\node\u modules\di\lib\injector.js:75:15) 在Injector.get(…\parkandrest ui\node\u modules\di\lib\Injector.js:48:43) 在E:\Workspace\Training\spring boot tutorial\parkandrest ui\node\u modules\karma\lib\server.js:166:20 在Array.forEach()处 在服务器上。\开始(…\parkandrest ui\node\u modules\karma\lib\Server.js:165:21) 在Injector.invoke(…\parkandrest ui\node\u modules\di\lib\Injector.js:75:15) 在Server.start(…\parkandrest ui\node\u modules\karma\lib\Server.js:126:18) 反对

我的karma.conf.js文件如下所示:

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client:{
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    files: [
      { pattern: './src/test.ts', watched: false }
    ],
    preprocessors: {
      './src/test.ts': ['@angular-devkit/build-angular']
    },
    mime: {
      'text/x-typescript': ['ts','tsx']
    },
    coverageIstanbulReporter: {
      dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    angularCli: {
      config: './angular.json',
      environment: 'dev'
    },
    reporters: config.angularCli && config.angularCli.codeCoverage
              ? ['progress', 'coverage-istanbul']
              : ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};
@angular devkit\build angular当然已安装。谢谢你的帮助

编辑: 我有一个解决方案,它实际上将我的问题的大部分用户答案与我自己的答案结合起来。首先,我将整个项目更新为稳定的angular 6版本。接下来,我生成了@R.Richards建议的空项目,然后我用新项目替换了旧项目中的几乎所有配置。最后,我遇到了一个问题@Suvendu警告我。我用他的解决方案解决了这个问题。不幸的是,我的环境(Intellij IDEA 2017.3.4 Ultimate)仍然存在一个问题,它不允许我直接从IDE启动业力测试(我有@Suvendu提到的相同错误),但是,这是下一个问题的主题

找不到模块“@angular devkit/build angular”

以下是我的项目的工作原理:

  • npm安装-g@angular/cli
  • npm安装@angular/cli
  • ng update@angular/cli--仅迁移--from=1.7.0
  • ng更新@angular/core
  • npm安装rxjs compat
  • ng发球

  • 我希望这对你有用

    尝试使用npm安装karma webpack,然后将其添加到插件阵列中-

     plugins: [
      ...
      require('karma-webpack'),
      ...
    ],
    
    用这个替换预处理器-

    preprocessors: {
      './src/test.ts': ['webpack']
    },
    
    这在我的情况下有效,并且也适用于以下预期的未来错误-

    错误:“@angular devkit/build angular/plugins/karma”karma插件旨在从angular CLI内部使用,在其外部无法正常工作


    希望这有帮助。

    我的解决方案有点不同,因为我必须移动karma.conf.js

  • 更新所有依赖项,并确保应用程序本身按预期工作
  • 如果尚未完成:将karma.conf.js中出现的
    @angular/cli
    替换为
    @angular devkit/build angular
  • 完全从karma.conf.js中删除
    文件
    预处理器
    配置。这些都是在angular.json中定义的,应该由@angular devkit karma插件自动处理
    我随后对项目进行了干净的迁移,这为我解决了同样的问题。

    我的解决方案是将NODE_ENV环境变量设置为“production”。在尝试升级到Angular 6时,我没有意识到@Angular devkit/build Angular已列在我的devDependencies中,它未安装在生产环境中


    运行“unset NODE_ENV”并从/etc/environment中删除NODE_ENV修复了我的问题。(注意:在实际生产环境中更改此变量时要小心)。

    在karma.conf.js中的插件部分添加以下库。这是用Angular8完成的


    require(“@angular devkit/build angular/plugins/karma”)

    我刚刚尝试了新的CLI(6.0.0-rc.4)和angular(6.0.0-rc.5)的新安装。测试顺利进行。也许你应该从一个新的应用程序(你在旁边创建)中获取一个karma.config.js,看看它是否适合你。在更改为@angular devkit后,你必须删除预处理器行。。。谢谢你this@hugo饥肠辘辘,我面临着报道的问题。正如在我的项目中一样,并非所有文件都显示覆盖范围。你能帮他理解为什么会这样吗?