Angular CLI 构建失败,因为它尝试 `mkdir /opt/build` 但没有访问权限 > “opt/build”从何而来?以及如何改变它?

问题描述 投票:0回答:2

我使用

node 14.15.5
docker 映像来运行
ng build
,但它失败并显示以下错误消息:

./node_modules/google-protobuf/google-protobuf.js - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
Error: EACCES: permission denied, mkdir '/opt/build'

./node_modules/ngx-monaco-editor/fesm2015/ngx-monaco-editor.js - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
Error: EACCES: permission denied, mkdir '/opt/build'

./node_modules/regenerator-runtime/runtime.js - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
Error: EACCES: permission denied, mkdir '/opt/build'

我不知道为什么它甚至尝试在

/opt
中创建构建目录。

Angular CLI: 12.2.17
Node: 14.15.5
Package Manager: npm 6.14.11
OS: linux x64

Angular: 12.2.16
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.1202.17
@angular-devkit/build-angular      12.2.17
@angular-devkit/core               12.2.17
@angular-devkit/schematics         12.2.17
@angular/cdk                       12.2.13
@angular/cli                       12.2.17
@angular/material                  12.2.13
@angular/material-moment-adapter   12.2.12
@schematics/angular                12.2.17
rxjs                               6.6.7
typescript                         4.3.5

outputPath
中的
angular.json
看起来像这样:

{
    ...
    "projects": {
        "dashboard3": {
            ...
            "architect": {
                "build": {
                    "builder": "@angular-devkit/build-angular:browser",
                    "options": {
                        "outputPath": "dist/dashboard3",
                    }
                }
            }
        }
    }
}

我想念什么???

angular webpack angular-cli babel-loader
2个回答
0
投票

当涉及到许可时尝试

sudo ng build --configuration=production

0
投票

在 mac 中,你必须使用“sudo ionicserve -l”

© www.soinside.com 2019 - 2024. All rights reserved.