Angular 9 ngcc 尝试扫描整个磁盘
Angular 9 ngcc try to scan entire disk
我按照 angular.io 指南将我的 Angular 8 迁移到了 Angular 9,但是我在生成 ivy 入口点时遇到了问题。
当我执行 npm install
时,我在 ngcc
命令执行期间看到以下错误。
ngcc
Error: EPERM: operation not permitted, lstat 'E:/System Volume Information'
at Object.lstatSync (fs.js:917:3)
我正在使用 Windows 10 和 Node 12,但我在 macOS 上试过,我得到了相同的结果(当然是在另一个系统保护路径上)。
按照我的安装后脚本
"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
我搜索了这个问题并提出了更改文件夹权限的解决方案,但我不想破坏我的 OS。
此外,如果没有 ngcc 工作,我无法执行 ng serve。
如何防止ngcc扫描整个磁盘只做它应该做的事?有关于此的已知错误吗?
编辑:
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "esnext",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2015",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"],
"paths": {
"@app/*": ["src/app/*"],
"@src/*": ["src/*"],
"@root/*": ["/*"]
}
}
}
问题在 tsconfig.js
{
...
"paths": {
"@app/*": ["src/app/*"],
"@src/*": ["src/*"],
"@root/*": ["/*"]
}
...
}
我原以为@root 路径只针对项目的根目录,但我忘记了使它成为相对路径的点
"@root/*": ["./*"]
我按照 angular.io 指南将我的 Angular 8 迁移到了 Angular 9,但是我在生成 ivy 入口点时遇到了问题。
当我执行 npm install
时,我在 ngcc
命令执行期间看到以下错误。
ngcc
Error: EPERM: operation not permitted, lstat 'E:/System Volume Information'
at Object.lstatSync (fs.js:917:3)
我正在使用 Windows 10 和 Node 12,但我在 macOS 上试过,我得到了相同的结果(当然是在另一个系统保护路径上)。
按照我的安装后脚本
"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
我搜索了这个问题并提出了更改文件夹权限的解决方案,但我不想破坏我的 OS。
此外,如果没有 ngcc 工作,我无法执行 ng serve。
如何防止ngcc扫描整个磁盘只做它应该做的事?有关于此的已知错误吗?
编辑:
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "esnext",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2015",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"],
"paths": {
"@app/*": ["src/app/*"],
"@src/*": ["src/*"],
"@root/*": ["/*"]
}
}
}
问题在 tsconfig.js
{
...
"paths": {
"@app/*": ["src/app/*"],
"@src/*": ["src/*"],
"@root/*": ["/*"]
}
...
}
我原以为@root 路径只针对项目的根目录,但我忘记了使它成为相对路径的点
"@root/*": ["./*"]