当我键入“npm run build: prod”时
build:prod
npm run build -- --configuration production --aot --optimization=false
我得到这个错误:
> fancy-name@0.0.0 build:prod
> npm run build -- --configuration production --aot --optimization=false
glob error [Error: EACCES: permission denied, scandir '/root/.npm/_logs'] {
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/root/.npm/_logs'
}
npm WARN logfile Error: EACCES: permission denied, scandir '/root/.npm/_logs'
npm WARN logfile error cleaning log files [Error: EACCES: permission denied, scandir '/root/.npm/_logs'] {
npm WARN logfile errno: -13,
npm WARN logfile code: 'EACCES',
npm WARN logfile syscall: 'scandir',
npm WARN logfile path: '/root/.npm/_logs'
npm WARN logfile }
⸨⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⸩ ⠙ : WARN logfile Error: EACCES: permission denied, scandir '/root/.npm/_logs'
> fancy-name@0.0.0 build
> ng build "--configuration" "production" "--aot" "--optimization=false"
Node.js version v17.4.0 detected.file Error: EACCES: permission denied, scandir '/root/.npm/_logs'
Odd numbered Node.js versions will not enter LTS status and should not be used for production. For more information, please see https://nodejs.org/en/about/releases/.
This version of CLI is only compatible with Angular versions ^13.0.0-next || >=13.0.0 <14.0.0,ogs'
but Angular version 12.1.3 was found instead.
Please visit the link below to find instructions on how to update Angular.
https://update.angular.io/
我已尝试删除node\u模块
编辑:用chown-R根 /path/of/your/project解决
GLOB错误[错误:EACCES:权限被拒绝,scandir'/root/. npm/_logs']{
这意味着它正在尝试读取“根”目录中的某些内容,这些内容总是需要根访问权限。
尝试像这样运行命令:
sudo npm run build:prod
额外:通常您不应该使用sudo运行命令。如果您来自Windows背景,请将其视为“以管理员身份运行”,只有更多权限,因此如果您运行恶意脚本,它可以访问您系统上的几乎所有内容。有一些JS库需要root/sudo访问权限才能完成他们的工作
NPM非常努力(请参阅其他答案了解详细信息)不以root身份执行任何操作。那就试试吧,不要成为root?你会这样做
这是一个令人困惑的错误,可以理解;您以root用户身份运行npm,但它表示您无权访问这些文件?有一个很好的理由:)这些问题本质上是关于同一件事的:
我相当长的回答详细介绍了正在发生的事情,但本质是这样的:
(NPM)...使用这段代码来确定以谁的身份运行:
常量{uid,gid}=isRoot?推断所有者。同步(cwd):{}
正如infer-所有者模块的文档所说:根据其最近的现有父级的所有者推断路径的所有者
因此,如果您以root身份运行NPM,则需要将当前目录的所有者也更改为root:
chown -R root /path/of/your/project
但所有这些问题都应该向您指出真正的解决方案:不要以root身份运行NPM。您不知道什么样的脚本可以作为安装后触发器或类似的触发器运行。是安全的;仅在必要时使用root帐户使用sudo。
如相关答案所述:
此行为仅适用于NPM版本
我试图运行一个本地Jenkins管道使用Jenkinsfile的nodejs应用程序使用节点:6-alpin图像(默认)使用build.sh脚本使用调用npm安装然后我得到了以下权限错误 npm ERR!错误:EACCES:权限被拒绝,mkdir'/. npm'npm ERR!在错误(本机)npm ERR!{错误:EACCES:权限被拒绝,mkdir'/. npm'npm ERR!在错误(本机)n
问题内容: 我运行 npm install lodash, 但它抛出 错误:EACCES:权限被拒绝 错误。我知道这是权限问题,但据我所知,本地安装节点模块不需要sudo权限。如果我使用sudo运行它,它将安装在〜/ node_modules文件夹中。 drwxrwxr-x 是现有文件夹的文件许可权。我不知道可能出了什么问题。 下面是错误消息。 问题答案: 使用 npm init 创建 packa
我运行npm install lodash,但它抛出错误:EACCES:权限被拒绝错误。我知道这是权限问题,但据我所知,在本地安装节点模块不需要sudo权限。如果我用sudo运行它,它会安装在~/node\u modules文件夹中。drwxrwxr-x是现有文件夹的文件权限。我不知道可能出了什么问题。 下面是错误消息。
命令:npm安装-gnpm@latest 结果: npm错误!代码EACCES npm ERR!系统调用重命名npm错误!路径/usr/local/lib/node_modules/。暂存/npm-3e479054/node_模块/字符串宽度npm错误!dest/usr/local/lib/node_modules/。暂存/字符串宽度-fa87d55b npm错误!错误-13 npm错误!错误:E
我试图在MacOS10.12上安装sudoNPM-gappium。5. 我得到这个错误: 信息Chromedriver安装为平台“mac”和架构“64”安装Chromedriver版本“2.30” 信息Chromedriver安装打开临时文件以将Chromedriver\u mac64写入。。。 错误:EACCES:权限拒绝,mkdir “/usr/local/lib/node_modules/a
我遇到一个例外,当我试图打开FileInputStream时,文件打开权限被拒绝。 这是stacktrace: 是的,我在清单中有权限: