在我的Nx工作区的根目录中,当我运行命令ng g lib my-lib时,它在工作区的根中的myLib/src/libs文件夹中生成一个名为MyLibService的myLib/src/libs服务。我希望它能在libs文件夹(libs/my-lib/src)中创建一个新的lib。(在我升级到v6之前,它经常这样做。)
此外,在创建服务之后,nothing将添加到我的angular.json文件中。
至少有三件事出了问题:
service而不是一个libangular.json中没有任何记录我做错了什么?
谢谢。
更新#1
我创建了一个新的测试工作区,添加了一个应用程序,并使用上面的命令向它添加了一个lib。一切都如预期的那样工作,所以我认为这意味着我的环境(包等)是正确的。我比较了虚拟工作区和实际工作区的angular.json文件,发现我的实际工作区缺少一个似乎相关的条目:"defaultCollection": "@nrwl/schematics"。
我添加了这个条目,现在当我尝试创建一个lib时,它在那里停留了10-15秒,然后报告:
ERROR! test2/karma.conf.js does not exist..
ERROR! test2/ng-package.json does not exist..
ERROR! test2/ng-package.prod.json does not exist..
ERROR! test2/package.json does not exist..
ERROR! test2/tsconfig.lib.json does not exist..
ERROR! test2/tsconfig.spec.json does not exist..
ERROR! test2/tslint.json does not exist..
ERROR! test2/src/test.ts does not exist..
ERROR! test2/src/index.ts does not exist..
ERROR! test2/src/lib/test2.component.ts does not exist..
ERROR! test2/src/lib/test2.module.ts does not exist..
ERROR! libs/test2/src/lib/test2.module.ts does not exist..
ERROR! libs/test2/src/index.ts does not exist..
ERROR! libs/test2/tsconfig.lib.json does not exist..
ERROR! libs/test2/tsconfig.spec.json does not exist..
ERROR! libs/test2/tslint.json does not exist..
ERROR! libs/test2/karma.conf.js does not exist..
The Schematic workflow failed. See above.“test2”是我试图创建的库的名称。
现在,任何地方都不会创建任何东西,我的angular.json也不会被修改。
我还在继续钻研这个。
发布于 2018-07-29 18:46:34
解决了。我将实际工作区package.json中的所有包版本重置为工作的package.json版本(通常是角度为6.0.1)。清除我的node_modules文件夹并运行纱线。现在一切都正常了。
在Nrwl/Nx GitHub回购上一个无关的问题上,维克多·萨夫金评论说,角质6.1将在NX6.2之前不被支持。
经验教训:不要总是对最新版本的things...wait进行一点更新,并且保持一两次更新,除非您有特定的理由进行升级!
https://stackoverflow.com/questions/51576771
复制相似问题