在 macOS mojave 上安装 angular/cli 时出错 - node-pre-gyp



我格式化我的imac并删除高清上的所有文件。但是,当我安装 angular cli 7 时,终端控制台会显示此错误日志。

环境

macOS:莫哈韦 10.14.2节点:v10.15NPM:6.4.1


控制台错误

miguels-imac:~ makito$ sudo npm install -g @angular/cli
/usr/local/bin/ng -> /usr/local/lib/node_modules/@angular/cli/bin/ng
> fsevents@1.2.7 install 
/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents
> node install
node-pre-gyp WARN Using needle for node-pre-gyp https download
node-pre-gyp WARN Pre-built binaries not installable for fsevents@1.2.7 
and node@10.15.0 (node-v64 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp WARN Hit error EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/lib'
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/build'
gyp ERR! System Darwin 18.2.0
gyp ERR! command "/usr/local/Cellar/node@10/10.15.0/bin/node" "/usr/local/Cellar/node@10/10.15.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64/fse.node" "--module_name=fse" "--module_path=/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64" "--napi_version=3" "--node_abi_napi=napi"
gyp ERR! cwd /usr/local/lib/node_modules/@angular/cli/node_modules/fsevents
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/Cellar/node@10/10.15.0/bin/node /usr/local/Cellar/node@10/10.15.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64/fse.node --module_name=fse --module_path=/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64 --napi_version=3 --node_abi_napi=napi' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:962:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
node-pre-gyp ERR! System Darwin 18.2.0
node-pre-gyp ERR! command "/usr/local/Cellar/node@10/10.15.0/bin/node" "/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /usr/local/lib/node_modules/@angular/cli/node_modules/fsevents
node-pre-gyp ERR! node -v v10.15.0
node-pre-gyp ERR! node-pre-gyp -v v0.10.3
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/Cellar/node@10/10.15.0/bin/node /usr/local/Cellar/node@10/10.15.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64/fse.node --module_name=fse --module_path=/usr/local/lib/node_modules/@angular/cli/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64 --napi_version=3 --node_abi_napi=napi' (1)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/@angular/cli/node_modules/fsevents):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 install: `node install`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
+ @angular/cli@7.2.3
added 294 packages from 178 contributors in 20.637s

如果我显示全局依赖项,我有 @angular/CLI...那么,为什么会出现此错误?,我做错了什么?

在stackOverflow上搜索,我决定安装node-pre-gyp,然后安装xCode。 但是,没有任何变化。

好吧,我这样做了,它对我有用。

  1. rm -rf/usr/local/lib/node_modules
  2. brew 卸载节点
  3. brew install node --without-npm
  4. echo 前缀=~/.npm-packages>> ~/.npmrc
  5. 卷曲 -L https://www.npmjs.com/install.sh | sh
  6. 将以下行添加到您的 ~/.bash_profile(export PATH="$HOME/.npm-packages/bin:$PATH")

  7. Unistall 你当前的 @angular/cli (sudo npm uninstall -g @angular/cli)

  8. npm 缓存清理 --强制/npm 缓存验证
  9. xcode-select --install
  10. npm install -g node-gyp
  11. npm install -g @angular/cli(没有sudo)。

让我知道它是否有效

你没有做错任何事,有一些与(可能)fsevents 相关的错误,来自 node.js(lts 和当前)的官方软件包和自制软件安装都有这个问题。

按照此线程上的答案进行操作:如何完全卸载 Node.js,然后从头开始重新安装 (Mac OS X)

[基本上你需要手动删除节点,npm,ng文件和文件夹]

并安装 NVM,

然后使用 NVM 进行节点。

我尝试了上述修复程序,但遇到了同样的问题。我认为尽管有警告和错误,但应该正确安装 CLI。

我运行ng v,可以看到安装了新版本。

此处记录了类似的问题https://github.com/aws-amplify/amplify-cli/issues/783

最新更新