ng-packagr: BUILD ERROR EPERM: операция не разрешена - PullRequest
0 голосов
/ 04 мая 2018

Я следовал этому учебнику Николаса Леблана для построения Angular 4 Component Library. В руководстве описан способ повторного использования модуля в другом проекте путем упаковки одного проекта и установки его в другом.

Во-первых, это мои версии программного обеспечения:

  • Windows 10 Pro: 1709 Build 16299.371
  • угловой IDE: 17.0.0.c0000019t201804160508
  • нг-пакагр: 2.4.2
  • @ angular / *: 5.2.10
  • машинопись: 2.5.3
  • rxjs: 5.5.10
  • узел: 9.4.0
  • нпм: 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?

Ответы [ 3 ]

0 голосов
/ 28 июня 2019

Обычно это происходит, если что-то блокирует файлы / каталоги. Для меня обычно VS Code делает это.

Один из способов предотвратить эту ошибку - [1] запустить в режиме администратора (как предложено в другом ответе) или [2] закрыть VS Code и попробовать

Или [3] исключить каталог из tsconfig.json, как

    "exclude": [
        "dist"
    ]
0 голосов
/ 10 июля 2019

Установите самостоятельно модуль, выдающий ошибку.

Потратив много часов и попробовав все возможные предложения, я обнаружил, что установка определенного модуля, упомянутого в сообщении об ошибке, глобально устранила проблему:

Например: npm ERR! {Ошибка: 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

и это исправило это для меня! Наконец !!

0 голосов
/ 04 мая 2018

Вы можете попробовать запустить командную строку от имени администратора. Может быть, поможет

...