Я получаю следующую ошибку, когда я npm start
приложение на https://github.com/juanmendes/vmware-cloud-director-ui-components для ветки с именем ryan-a11y-merge-to-master
. Если я запускаю ветку master
, я не получаю ошибок.
ERROR in The target entry-point "@vcd/ui-components" has missing dependencies:
- @angular/core
- @clr/angular
- @angular/common
- rxjs/internal-compatibility
- @angular/platform-browser
- @angular/core/testing
- @angular/forms
- @angular/router
- rxjs
- rxjs/operators
- @clr/angular/data/datagrid/interfaces/filter.interface
Я также вижу следующие сообщения об ошибках перед этой последней ошибкой:
Warning: Entry point '@vmw/ng-live-docs' contains deep imports into '/Users/jmendes/git/github/juan-core-ui/node_modules/prismjs/components/prism-scss', '/Users/jmendes/git/github/juan-core-ui/node_modules/prismjs/components/prism-typescript'. This is probably not a problem, but may cause the compilation of entry points to be out of order.
Warning: Entry point '@vmw/plain-js-live-docs' contains deep imports into '/Users/jmendes/git/github/juan-core-ui/node_modules/lit-html/directives/unsafe-html'. This is probably not a problem, but may cause the compilation of entry points to be out of order.
Warning: Entry point '@vcd/ui-components' contains deep imports into '/Users/jmendes/git/github/juan-core-ui/node_modules/@clr/angular/data/datagrid/interfaces/filter.interface'. This is probably not a problem, but may cause the compilation of entry points to be out of order.
Если я попрошу коллег клонировать это репо и запустить его:
git clone https://github.com/juanmendes/vmware-cloud-director-ui-components.git
cd vmware-cloud-director-ui-components;
git checkout ryan-a11y-merge-to-master;
npm ci;
npm start;
Они смогли запустить приложение (а также получить предупреждения) без проблем, но я получаю указанную выше ошибку и следующее сообщение на локальном хосте: 4200: Cannot GET /
Что я пробовал
Обходной путь
Если я отключу компиляцию Ivy, то он жалуется, потому что один из пакетов, которые он использует (@vmw/live-docs
), не объявляет entryComponents
для некоторых динамически создаваемых компонентов (поскольку они не нужны в компиляции Ivy).
Чтобы обойти эту проблему, я изменил код в @vmw/live-docs
, добавив entryComponents
, и пересобрал его, скопировав его папку dist в node_modules в моем текущем приложении. Это позволяет мне запускать приложение в режиме без Ivy, а это не то, что мне нужно.
Что еще я могу попробовать?
Мне нечего попробовать, любые предложения приветствуются.
Это происходило из-за того, что у меня каким-то образом был ~/node_modules/@vcd/ui-components
с устаревшими ссылками.
Похоже, что разрешение модуля узла шло вверх по дереву и пыталось использовать эту версию вместо той, которую я настроил в ~/github/vmware-cloud-director-ui-components/tsconfig.json
"compilerOptions": {
"paths": {
"@vcd/ui-components": [
"../../dist/components"
]
}
},
Удаление этой папки node_modules
решило мою проблему