Ошибка: не удается найти модуль '@ angular / compiler-cli / src / execute_compile' при запуске ng-packagr - PullRequest
0 голосов
/ 02 июля 2018

У меня новая установка windows, и я пытаюсь запустить ng-packagr впервые.

Я получаю сообщение об ошибке:

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)

Я установил угловой CLI, запустив

npm install -g @angular/cli@latest

Это работает v6.0.8

Мой ng-package.json:

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

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 29 июля 2018

Эй, недавно решил похожую проблему, вы можете попробовать следующее:

Шаг 1: установить последний файл node.js (удалить предыдущую версию)

Шаг 2: Установите последнюю версию angular-cli глобально

npm uninstall -g angular-cli npm cache clean or npm cache verify (if npm > 5) npm install -g @angular/cli@latest

Шаг 3: Создать новый проект с angular-cli

ng new projectname

Шаг 4: Скопируйте ваши файлы (модули, компоненты, директивы и т. Д.) Во вновь созданный проект из старого

Шаг 5: установить ng-packagr

npm i ng-packagr

Шаг 6: отредактируйте свой package.json (корневой проект)

"scripts": {
    "packagr": "ng-packagr -p ng-package.json"
 }
  • Удалите зависимости или переместите все в peerDependencies, так как вы собираетесь создать функциональный модуль

Step7: ng-package.json (может отличаться в вашем случае, но вы можете попробовать это)

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

Step8: public_api.ts (обновить относительный путь к вашему модулю)

export * from './src/app/modules/yourmodulename/yourmodulename.module

И все, теперь вы можете запустить npm run packagr, оно должно работать и генерировать папку dist.

Вы можете опубликовать на npmjs используя npm publish dist

Вот так я и решил, надеюсь, это поможет.

Спасибо

...