新建 Angular CLI 项目 core-js@2.6.9 安装后错误
New Angular CLI project core-js@2.6.9 postinstall error
我正在使用 Angular CLI 版本 7.3.9,因为我无法升级到 8.3.2(我假设我在尝试升级 Angular CLI 时遇到的错误是相同的问题)。当我尝试创建一个新项目时,出现了 NPM 异常。我试过清除 npm 缓存并更新所有全局安装的包。有些包会出现类似的错误,其他的似乎工作正常。
这只影响一台机器。我已经尝试卸载并重新安装@angular/cli,卸载并重新安装节点,并尝试节点 10 和 12。None 已解决错误。
在解决 NPM 安装错误方面,我有哪些选择?我可以尝试在下面解决这个问题吗?有什么地方我应该寻找更好的答案吗?
当我 运行 ng version
我得到以下输出:
Angular CLI: 7.3.9
Node: 10.16.3
OS: win32 x64
Angular:
...
Package Version
------------------------------------------------------
@angular-devkit/architect 0.13.9
@angular-devkit/core 7.3.9
@angular-devkit/schematics 7.3.9
@schematics/angular 7.3.9
@schematics/update 0.13.9
rxjs 6.3.3
typescript 3.2.4
当我 运行 命令 ng new TestProject
我得到以下输出:
PS L:\Repos\Temp> ng new TestProject
? Would you like to add Angular routing? Yes
? Which stylesheet format would you like to use? Less [ http://lesscss.org
]
CREATE TestProject/angular.json (3940 bytes)
CREATE TestProject/package.json (1311 bytes)
CREATE TestProject/README.md (1028 bytes)
CREATE TestProject/tsconfig.json (435 bytes)
CREATE TestProject/tslint.json (1621 bytes)
CREATE TestProject/.editorconfig (246 bytes)
CREATE TestProject/.gitignore (629 bytes)
CREATE TestProject/src/favicon.ico (5430 bytes)
CREATE TestProject/src/index.html (298 bytes)
CREATE TestProject/src/main.ts (372 bytes)
CREATE TestProject/src/polyfills.ts (2841 bytes)
CREATE TestProject/src/styles.less (80 bytes)
CREATE TestProject/src/test.ts (642 bytes)
CREATE TestProject/src/browserslist (388 bytes)
CREATE TestProject/src/karma.conf.js (1024 bytes)
CREATE TestProject/src/tsconfig.app.json (166 bytes)
CREATE TestProject/src/tsconfig.spec.json (256 bytes)
CREATE TestProject/src/tslint.json (244 bytes)
CREATE TestProject/src/assets/.gitkeep (0 bytes)
CREATE TestProject/src/environments/environment.prod.ts (51 bytes)
CREATE TestProject/src/environments/environment.ts (662 bytes)
CREATE TestProject/src/app/app-routing.module.ts (245 bytes)
CREATE TestProject/src/app/app.module.ts (393 bytes)
CREATE TestProject/src/app/app.component.html (1152 bytes)
CREATE TestProject/src/app/app.component.spec.ts (1110 bytes)
CREATE TestProject/src/app/app.component.ts (216 bytes)
CREATE TestProject/src/app/app.component.less (0 bytes)
CREATE TestProject/e2e/protractor.conf.js (752 bytes)
CREATE TestProject/e2e/tsconfig.e2e.json (213 bytes)
CREATE TestProject/e2e/src/app.e2e-spec.ts (640 bytes)
CREATE TestProject/e2e/src/app.po.ts (251 bytes)
> node-sass@4.12.0 install L:\Repos\Temp\TestProject\node_modules\node-sass
> node scripts/install.js
> core-js@2.6.9 postinstall L:\Repos\Temp\TestProject\node_modules\core-js
> node scripts/postinstall || echo "ignore"
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.12.0 (node_modules\node-sass):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.12.0 install: `node scripts/install.js`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: spawn bash ENOENT
npm ERR! file bash
npm ERR! path bash
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn bash
npm ERR! core-js@2.6.9 postinstall: `node scripts/postinstall || echo "ignore"`
npm ERR! spawn bash ENOENT
npm ERR!
npm ERR! Failed at the core-js@2.6.9 postinstall 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\<USER>\AppData\Roaming\npm-cache\_logs19-08-30T19_06_06_818Z-debug.log
Package install failed, see above.
上面日志的内容可以在这里找到:https://gist.github.com/joecoolish/ff0ffdb7eb583ef5b18146ca2e456c2c
Tl;dr:在 windows 中经常使用 Git bash 而不是普通命令行可以解决问题。在其他平台上,可能有几个原因。 (阅读下文)。
首先尝试按照此处所述清除 npm 缓存并降级节点:
当 ng
尝试执行 node
以及安装 node-sass
时出现此错误。两者似乎都是权限(安全)问题,或节点环境变量问题。所以试试这些:
1.使用 Git bash 而不是 cmd
(首先尝试这个,通常可以解决问题)
确保你有 2 个环境变量,NVM_HOME 和 NVM_SYMLINK,并确保这些变量也存在于 PATH 环境变量中。
确保您以管理员身份安装了 nodejs。
确保你可以 运行 node
in cmd.
卸载 angular cli 并使用 --unsafe-perm
标志安装它(再次以管理员身份)(像这样:https://github.com/Alex-Rose/fb-messenger-cli/issues/94#issuecomment-333047050)
暂时卸载 typescript
和 rxjs
,以使其更简单。
确保在所有步骤中,您 运行 作为管理员使用命令行。
如果上面的方法不行,切换到administrator account
然后试试。
与您遇到的错误相关的链接:
https://github.com/Medium/phantomjs/issues/765
https://github.com/sass/node-sass/issues/2544
此外,如果这没有解决问题,请尝试 记录有关 spawn ENOENT
错误的更多详细信息。
编辑
post 安装失败的包似乎只是在执行 echo
命令。验证您的系统是否可以处理 echo
命令,如果不能,您也可以编写一个简单的 echo.cmd
脚本并将其放入 windows/system32
我正在使用 Angular CLI 版本 7.3.9,因为我无法升级到 8.3.2(我假设我在尝试升级 Angular CLI 时遇到的错误是相同的问题)。当我尝试创建一个新项目时,出现了 NPM 异常。我试过清除 npm 缓存并更新所有全局安装的包。有些包会出现类似的错误,其他的似乎工作正常。
这只影响一台机器。我已经尝试卸载并重新安装@angular/cli,卸载并重新安装节点,并尝试节点 10 和 12。None 已解决错误。
在解决 NPM 安装错误方面,我有哪些选择?我可以尝试在下面解决这个问题吗?有什么地方我应该寻找更好的答案吗?
当我 运行 ng version
我得到以下输出:
Angular CLI: 7.3.9
Node: 10.16.3
OS: win32 x64
Angular:
...
Package Version
------------------------------------------------------
@angular-devkit/architect 0.13.9
@angular-devkit/core 7.3.9
@angular-devkit/schematics 7.3.9
@schematics/angular 7.3.9
@schematics/update 0.13.9
rxjs 6.3.3
typescript 3.2.4
当我 运行 命令 ng new TestProject
我得到以下输出:
PS L:\Repos\Temp> ng new TestProject
? Would you like to add Angular routing? Yes
? Which stylesheet format would you like to use? Less [ http://lesscss.org
]
CREATE TestProject/angular.json (3940 bytes)
CREATE TestProject/package.json (1311 bytes)
CREATE TestProject/README.md (1028 bytes)
CREATE TestProject/tsconfig.json (435 bytes)
CREATE TestProject/tslint.json (1621 bytes)
CREATE TestProject/.editorconfig (246 bytes)
CREATE TestProject/.gitignore (629 bytes)
CREATE TestProject/src/favicon.ico (5430 bytes)
CREATE TestProject/src/index.html (298 bytes)
CREATE TestProject/src/main.ts (372 bytes)
CREATE TestProject/src/polyfills.ts (2841 bytes)
CREATE TestProject/src/styles.less (80 bytes)
CREATE TestProject/src/test.ts (642 bytes)
CREATE TestProject/src/browserslist (388 bytes)
CREATE TestProject/src/karma.conf.js (1024 bytes)
CREATE TestProject/src/tsconfig.app.json (166 bytes)
CREATE TestProject/src/tsconfig.spec.json (256 bytes)
CREATE TestProject/src/tslint.json (244 bytes)
CREATE TestProject/src/assets/.gitkeep (0 bytes)
CREATE TestProject/src/environments/environment.prod.ts (51 bytes)
CREATE TestProject/src/environments/environment.ts (662 bytes)
CREATE TestProject/src/app/app-routing.module.ts (245 bytes)
CREATE TestProject/src/app/app.module.ts (393 bytes)
CREATE TestProject/src/app/app.component.html (1152 bytes)
CREATE TestProject/src/app/app.component.spec.ts (1110 bytes)
CREATE TestProject/src/app/app.component.ts (216 bytes)
CREATE TestProject/src/app/app.component.less (0 bytes)
CREATE TestProject/e2e/protractor.conf.js (752 bytes)
CREATE TestProject/e2e/tsconfig.e2e.json (213 bytes)
CREATE TestProject/e2e/src/app.e2e-spec.ts (640 bytes)
CREATE TestProject/e2e/src/app.po.ts (251 bytes)
> node-sass@4.12.0 install L:\Repos\Temp\TestProject\node_modules\node-sass
> node scripts/install.js
> core-js@2.6.9 postinstall L:\Repos\Temp\TestProject\node_modules\core-js
> node scripts/postinstall || echo "ignore"
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.12.0 (node_modules\node-sass):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.12.0 install: `node scripts/install.js`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: spawn bash ENOENT
npm ERR! file bash
npm ERR! path bash
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn bash
npm ERR! core-js@2.6.9 postinstall: `node scripts/postinstall || echo "ignore"`
npm ERR! spawn bash ENOENT
npm ERR!
npm ERR! Failed at the core-js@2.6.9 postinstall 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\<USER>\AppData\Roaming\npm-cache\_logs19-08-30T19_06_06_818Z-debug.log
Package install failed, see above.
上面日志的内容可以在这里找到:https://gist.github.com/joecoolish/ff0ffdb7eb583ef5b18146ca2e456c2c
Tl;dr:在 windows 中经常使用 Git bash 而不是普通命令行可以解决问题。在其他平台上,可能有几个原因。 (阅读下文)。
首先尝试按照此处所述清除 npm 缓存并降级节点:
当 ng
尝试执行 node
以及安装 node-sass
时出现此错误。两者似乎都是权限(安全)问题,或节点环境变量问题。所以试试这些:
1.使用 Git bash 而不是 cmd
(首先尝试这个,通常可以解决问题)
确保你有 2 个环境变量,NVM_HOME 和 NVM_SYMLINK,并确保这些变量也存在于 PATH 环境变量中。
确保您以管理员身份安装了 nodejs。
确保你可以 运行
node
in cmd.卸载 angular cli 并使用
--unsafe-perm
标志安装它(再次以管理员身份)(像这样:https://github.com/Alex-Rose/fb-messenger-cli/issues/94#issuecomment-333047050)暂时卸载
typescript
和rxjs
,以使其更简单。确保在所有步骤中,您 运行 作为管理员使用命令行。
如果上面的方法不行,切换到
administrator account
然后试试。
与您遇到的错误相关的链接:
https://github.com/Medium/phantomjs/issues/765
https://github.com/sass/node-sass/issues/2544
此外,如果这没有解决问题,请尝试 记录有关 spawn ENOENT
错误的更多详细信息。
编辑
post 安装失败的包似乎只是在执行 echo
命令。验证您的系统是否可以处理 echo
命令,如果不能,您也可以编写一个简单的 echo.cmd
脚本并将其放入 windows/system32