3

我按照Nikolas LeBlanc 的这篇教程构建了一个 Angular 4 组件库。本教程描述了一种在另一个项目中重用模块的方法,方法是打包一个项目并将其安装到另一个项目中。

首先,这是我的软件版本:

  • Windows 10 专业版:1709 内部版本 16299.371
  • 角 IDE:17.0.0.c0000019t201804160508
  • ng-packagr:2.4.2
  • @角/*:5.2.10
  • 打字稿:2.5.3
  • rxjs:5.5.10
  • 节点:9.4.0
  • npm:5.6.0

除了标题“创建我们的包”之外,我无法进一步遵循本教程,因为执行以下命令:

ng-packagr -p ng-package.json

执行此命令时会出现以下错误:

npm run forestrun

bte@0.0.0 forestrun C:\Users\Kevin.DeGoede\Documents\yoyo\bte
ng-packagr -p ng-package.json

Building Angular Package
Building entry point 'bte'
Cleaning build directory
Rendering Stylesheets
Rendering Templates
Compiling TypeScript sources through ngc
Bundling to FESM15
Bundling to FESM5
Bundling to UMD
Minifying UMD bundle
Relocating source maps
Copying staged files
Writing package metadata
Distributing npm packages with 'dependencies' is not recommended. Please consider adding to 'peerDependencies' or remove it from 'dependencies'.

BUILD ERROR
EPERM: operation not permitted, unlink 'C:\Users\Kevin\Documents\yoyo\bte\dist\src\app\modules'
Error: EPERM: operation not permitted, unlink 'C:\Users\Kevin\Documents\yoyo\bte\dist\src\app\modules'

npm ERR! code ELIFECYCLE
npm ERR! errno 111
npm ERR! bte@0.0.0 forestrun: ng-packagr -p ng-package.json
npm ERR! Exit status 111
npm ERR!
npm ERR! Failed at the bte@0.0.0 forestrun script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Kevin\AppData\Roaming\npm-cache_logs\2018-05-04T08_30_30_818Z-debug.log

再次尝试时出现以下错误:

npm run forestrun

bte@0.0.0 forestrun C:\Users\Kevin\Documents\yoyo\bte
ng-packagr -p ng-package.json

Building Angular Package
glob error { Error: EPERM: operation not permitted, scandir 'C:\Users\Kevin\Documents\yoyo\bte\dist\src\app\modules'
errno: -4048,
code: 'EPERM',
syscall: 'scandir',
path: 'C:\Users\Kevin\Documents\yoyo\bte\dist\src\app\modules' }

BUILD ERROR
EPERM: operation not permitted, scandir 'C:\Users\Kevin\Documents\yoyo\bte\dist\src\app\modules'
Error: EPERM: operation not permitted, scandir 'C:\Users\Kevin\Documents\yoyo\bte\dist\src\app\modules'

npm ERR! code ELIFECYCLE
npm ERR! errno 111
npm ERR! bte@0.0.0 forestrun: ng-packagr -p ng-package.json
npm ERR! Exit status 111
npm ERR!
npm ERR! Failed at the bte@0.0.0 forestrun script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Kevin\AppData\Roaming\npm-cache_logs\2018-05-04T08_54_07_739Z-debug.log

我也在我的 Mac 上尝试过,但一切正常,但我们都在 Windows 机器上工作。那么如何让 ng-packagr 在我的 Windows 机器上工作呢?

4

6 回答 6

4

您可以尝试代表管理员运行命令行。也许会有所帮助

于 2018-05-04T12:22:47.050 回答
3

如果某些东西锁定了文件/目录,通常会发生这种情况。对我来说,一般都是VS Code这样做的。

防止此错误的一种方法是 [1] 在管理员模式下运行(如其他答案中所建议),或 [2] 关闭 VS Code 并尝试

tsconfig.json或 [3] 从喜欢中排除目录

    "exclude": [
        "dist"
    ]
于 2019-06-28T09:59:07.893 回答
1

我意识到我的应用程序处于断点...只需停止应用程序运行,你就会好起来的。

于 2019-09-25T11:18:48.113 回答
1

清空工作区的 dist 文件夹。它对我有用。

于 2020-07-20T12:45:17.927 回答
0

自己安装给出错误的模块。

在花了很多时间并尝试了所有可能的建议之后,我发现安装错误提到的特定模块全局解决了这个问题:

例如:npm 错误!{ 错误:EPERM:不允许操作,取消链接 'C:\Path\Docume nts\AngularProjects\my-sample-app333\node_modules.staging@angular\core-a3d1aa4 8\ bundles\ core.umd.js

我运行:npm install -global @angular/core

它为我修好了!最后!!

于 2019-07-10T18:00:57.553 回答
0

就我而言,删除“Angular Language Service”插件对我有帮助。

我在这里找到了这个解决方案。

于 2019-08-23T14:22:09.640 回答