Error: Cannot find module '@angular/compiler-cli/src/perform_compile' when running ng-packagr
Error: Cannot find module '@angular/compiler-cli/src/perform_compile' when running ng-packagr
我新安装了 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)
我确实通过 运行ning
安装了 angular CLI
npm install -g @angular/cli@latest
是运行ning v6.0.8
我的 ng-package.json:
{
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"lib": {
"entryFile": "index.ts",
"externals": {
"moment": "moment"
}
}
}
我在这里错过了什么?
您好,最近解决了一个类似的问题,您可以尝试以下操作:
安装最新的node.js(卸载之前的版本)
全局安装最新的angular-cli
npm uninstall -g angular-cli
npm cache clean or npm cache verify (if npm > 5)
npm install -g @angular/cli@latest
使用angular-cli创建一个新项目
ng new projectname
将您的文件(模块、组件、指令等)从旧项目复制到新创建的项目中
安装 ng-packagr
npm i ng-packagr
编辑您的 package.json
(根项目)
"scripts": {
"packagr": "ng-packagr -p ng-package.json"
}
删除依赖项或将所有项移至 peerDependencies,因为您将要创建一个功能模块
ng-package.json
(您的情况可能有所不同,但您可以尝试这样做)
{
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"lib": {
"entryFile": "public_api.ts"
}
}
public_api.ts
(更新模块的相对路径)
export * from './src/app/modules/yourmodulename/yourmodulename.module
就是这样,现在您可以 运行 npm run packagr
它应该可以工作并生成 dist 文件夹。
您可以使用 npm publish dist
在 npmjs 上发布
我就是这样解决的。
我新安装了 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)
我确实通过 运行ning
安装了 angular CLInpm install -g @angular/cli@latest
是运行ning v6.0.8
我的 ng-package.json:
{
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"lib": {
"entryFile": "index.ts",
"externals": {
"moment": "moment"
}
}
}
我在这里错过了什么?
您好,最近解决了一个类似的问题,您可以尝试以下操作:
安装最新的node.js(卸载之前的版本)
全局安装最新的angular-cli
npm uninstall -g angular-cli npm cache clean or npm cache verify (if npm > 5) npm install -g @angular/cli@latest
使用angular-cli创建一个新项目
ng new projectname
将您的文件(模块、组件、指令等)从旧项目复制到新创建的项目中
安装 ng-packagr
npm i ng-packagr
编辑您的
package.json
(根项目)"scripts": { "packagr": "ng-packagr -p ng-package.json" }
删除依赖项或将所有项移至 peerDependencies,因为您将要创建一个功能模块
ng-package.json
(您的情况可能有所不同,但您可以尝试这样做){ "$schema": "./node_modules/ng-packagr/ng-package.schema.json", "lib": { "entryFile": "public_api.ts" } }
public_api.ts
(更新模块的相对路径)export * from './src/app/modules/yourmodulename/yourmodulename.module
就是这样,现在您可以 运行 npm run packagr
它应该可以工作并生成 dist 文件夹。
您可以使用 npm publish dist
我就是这样解决的。