简体   繁体   English

Azure 应用程序/Web 服务上的“npm install”错误:EPERM:不允许操作,lchown

[英]“npm install” error on an Azure App / Web Service: EPERM: operation not permitted, lchown

On a Linux Azure App / Web Service configured for Node 12 LTS , after uploading code assets to /home/site/wwwroot/ , which includes a package.json file, I run npm install as root . On a Linux Azure App / Web Service configured for Node 12 LTS , after uploading code assets to /home/site/wwwroot/ , which includes a package.json file, I run npm install as root . I get the exception shown further below.我得到下面进一步显示的异常。

This same exception happens across two different Azure App / Web Services , one for a UI and another for a API (so two different code-sets).同样的异常发生在两个不同Azure App / Web Services中,一个用于UI ,另一个用于API (所以两个不同的代码集)。 But the error-pattern is the same:但是错误模式是一样的:

It cannot change the ownership of a directory beneath /home/site/wwwroot/node_modules/[...]/build-optimizer/node_modules/.bin/ , but only because the .../.bin/ sub-directory itself never gets created.它不能更改/home/site/wwwroot/node_modules/[...]/build-optimizer/node_modules/.bin/下目录的所有权,而仅仅是因为.../.bin/子目录本身永远不会被创建。

Again, I'm running npm install as root in both cases.同样,在这两种情况下,我都以root身份运行npm install

Any ideas?有任何想法吗? Please see below and thank you.请看下文,谢谢。

24380 warn optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents):
24381 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
24382 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
24382 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
24382 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   linux
24382 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
24383 warn optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.1 (node_modules/karma/node_modules/fsevents):
24384 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
24385 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
24385 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
24385 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   linux
24385 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
24386 verbose stack Error: EPERM: operation not permitted, lchown '/home/site/wwwroot/node_modules/@angular-devkit/build-optimizer/node_modules/.bin/tsserver'
24387 verbose cwd /home/site/wwwroot
24388 verbose Linux 4.15.0-112-generic
24389 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
24390 verbose node v12.19.0
24391 verbose npm  v6.14.8
24392 error code EPERM
24393 error syscall lchown
24394 error path /home/site/wwwroot/node_modules/@angular-devkit/build-optimizer/node_modules/.bin/tsserver
24395 error errno -1
24396 error Error: EPERM: operation not permitted, lchown '/home/site/wwwroot/node_modules/@angular-devkit/build-optimizer/node_modules/.bin/tsserver'
24396 error  [OperationalError: EPERM: operation not permitted, lchown '/home/site/wwwroot/node_modules/@angular-devkit/build-optimizer/node_modules/.bin/tsserver'] {
24396 error   cause: [Error: EPERM: operation not permitted, lchown '/home/site/wwwroot/node_modules/@angular-devkit/build-optimizer/node_modules/.bin/tsserver'] {
24396 error     errno: -1,
24396 error     code: 'EPERM',
24396 error     syscall: 'lchown',
24396 error     path: '/home/site/wwwroot/node_modules/@angular-devkit/build-optimizer/node_modules/.bin/tsserver'
24396 error   },
24396 error   errno: -1,
24396 error   code: 'EPERM',
24396 error   syscall: 'lchown',
24396 error   path: '/home/site/wwwroot/node_modules/@angular-devkit/build-optimizer/node_modules/.bin/tsserver',
24396 error   parent: '@angular-devkit/build-optimizer'
24396 error }
24397 error The operation was rejected by your operating system.
24397 error It is likely you do not have the permissions to access this file as the current user
24397 error
24397 error If you believe this might be a permissions issue, please double-check the
24397 error permissions of the file and its containing directories, or try running
24397 error the command again as root/Administrator.
24398 verbose exit [ -1, true ]


Had the exact same issue.有完全相同的问题。 Thanks to comment from semkeijsper the solution worked for me is: in package.json:感谢 semkeijsper 的评论,对我有用的解决方案是:在 package.json 中:

npm install

is modified to:修改为:

"npm cache clean --force && npm install"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM