Npm 错误:找不到模块'@角度/编译器cli/src/perform#u compile';运行ng Packager时

Npm 错误:找不到模块'@角度/编译器cli/src/perform#u compile';运行ng Packager时,npm,angular-cli,ng-packagr,Npm,Angular Cli,Ng Packagr,我安装了一个新的windows,我第一次尝试运行ng Packager 我得到了一个错误: Error: Cannot find module '@angular/compiler-cli/src/perform_compile' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:474:25) at Module.require (modu

我安装了一个新的windows,我第一次尝试运行ng Packager

我得到了一个错误:

Error: Cannot find module '@angular/compiler-cli/src/perform_compile'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Users\MyUser\AppData\Roaming\npm\node_modules\ng-packagr\lib\ts\tsconfig.js:3:12)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
它正在运行v6.0.8

My ng-package.json:

{
    "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
    "lib": {
        "entryFile": "index.ts",
        "externals": {
            "moment": "moment"
        }
    }
}

我在这里遗漏了什么?

他们最近解决了一个类似的问题,您可以尝试以下方法:

步骤1:安装最新的node.js(卸载以前的版本) 步骤2:全局安装最新的angular cli

npm卸载-g
npm缓存清理或npm缓存验证(如果npm>5)
npm安装-g@angular/cli@latest

步骤3:使用angular cli创建新项目
ng新项目名称

步骤4:将文件(模块、组件、指令等)从旧文件复制到新创建的项目中 步骤5:安装ng Packager
npm i ng packagr

步骤6:编辑您的package.json(根项目)
  • 删除依赖项或将所有项移至对等依赖项,因为您将要创建功能模块
步骤7:ng-package.json(在您的情况下可能会有所不同,但您可以试试这个) 步骤8:public_api.ts(更新模块的相对路径)
export*from./src/app/modules/yourmodulename/yourmodulename.module

现在您可以运行
npm run packagr
它应该可以工作并生成dist文件夹

您可以使用
npm publish dist

我就是这样解决的希望这会有帮助


谢谢

是的,。我发现你必须安装ng Packager v1.x,否则它将无法工作。
{
    "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
    "lib": {
        "entryFile": "index.ts",
        "externals": {
            "moment": "moment"
        }
    }
}
"scripts": {
    "packagr": "ng-packagr -p ng-package.json"
 }
{
  "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
  "lib": {
    "entryFile": "public_api.ts"
  }
}