javascript - 在 Mac OS X (El Capitan) 上安装 angular-cli 时出现无效的 @angular-cli/ast-tools 错误

标签 javascript node.js angular npm angular-cli

在 Mac OS X (El Capitan) 上运行 sudo npm install -g @angular-cli@latest 时出现以下错误

Darwin 15.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "angular-cli@latest"
npm ERR! node v6.7.0
npm ERR! npm v3.10.3

npm ERR! Invalid name: "@angular-cli/ast-tools"

以下是调试日志:

2911 verbose stack Error: Invalid name: "@angular-cli/ast-tools"
2911 verbose stack at ensureValidName (/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js:281:15)
2911 verbose stack at Object.fixNameField (/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js:196:5)
2911 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js:29:38
2911 verbose stack at Array.forEach (native)
2911 verbose stack at normalize (/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js:28:15)
2911 verbose stack at final (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:349:5)
2911 verbose stack at then (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:124:5)
2911 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:214:31
2911 verbose stack at f (/usr/local/lib/node_modules/npm/node_modules/once/once.js:17:25)
2911 verbose stack at Glob. (/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js:146:7)
2912 verbose cwd /Users/XXX
2913 error Darwin 15.4.0
2914 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "angular-cli@latest"
2915 error node v6.7.0
2916 error npm v3.10.3
2917 error Invalid name: "@angular-cli/ast-tools"

看起来这是 angular-cli 安装中存在的问题 https://github.com/angular/angular-cli/issues/2187

有人可以建议为什么会发生这种情况吗?

预先感谢您的帮助。

最佳答案

事实证明,npm 的更新修复了 Mac OS X (El Capitan) 上的此问题。

以下是我解决此问题的方法:

  sudo npm update npm -g
  npm --v
  node -v
  npm uninstall -g angular-cli
  sudo npm uninstall -g angular-cli
  sudo npm cache clean
  sudo npm install -g angular-cli@latest

运行以下命令后,npm和node的版本如下:

npm:3.10.9

Node :v6.6.0

关于javascript - 在 Mac OS X (El Capitan) 上安装 angular-cli 时出现无效的 @angular-cli/ast-tools 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39907921/

相关文章:

javascript - 存储在全局变量中

javascript - 如何在 react.js 中允许 CORS?

javascript - Windows Phone 8 HTML5 应用程序中的 Webfont

javascript - JavaScript 接受多少位小数?

node.js - nodejs fs 看起来很贪婪

ruby - gruntjs vs yeoman vs 守卫

node.js - 使用 SequelizeJs 获取父类别对象

javascript - 如何动态加载包含惰性模块的 Angular 库?

parsing - 属性 'parseFloat' 在类型 'NumberConstructor' angular2 上不存在

node.js - 重定向后 Cookie 消失