找不到模块 'glob'

Cannot find module 'glob'

告诉我你需要什么额外的信息

我按照一个简单的指南激活了我的第一个 angular 2 应用程序,并在 clr 上执行了以下操作:

npm i -g angular-cli    //(worked)

ng new ponyracer        //(error: Cannot find module 'glob')
ng serve                //(error: Cannot find module 'glob')

Cannot find module 'glob'
Error: Cannot find module 'glob'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (C:\Users\stavalfi\AppData\Roaming\npm\node_modules\angular-cli\addon\ng2\tasks\lib-install.js:11:19)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)

任何关于命令 "ng new ponyracer" 和 "ng serve" 的解释都会很棒。

谢谢, 斯塔夫

已经有 issue 报告此错误消息。下一个版本之前的解决方法是为项目安装 glob (npm install --save glob)

关于命令,根据他们在Generating and serving an Angular2 project via a development server下的存储库,命令如下

ng new ponyracer :此命令将创建一个名为 ponyracer 的项目(一个名为 ponyracer 的文件夹,其中包含所有设置)。

ng serve : 此命令将 运行 live reload server 为应用程序提供服务,以便您可以在浏览器中看到它。

PS :如果您测试了问题中建议的解决方案,那么您将很高兴报告它是否有效。

PS2 : 我现在测试了(我修复了我的错误),我无法重现你的错误。我正在使用节点 v5.5.0 和 npm v3.7.3。你能指定你使用的是哪个节点和 npm 版本吗?

我在 Windows 10、

上遇到了同样的错误

D:\Code\AngularJS>ng new greetings-ac
Cannot find module 'glob'
Error: Cannot find module 'glob'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (D:\Code\node_modules\angular-cli\addon\ng2\tasks\lib-install.js:11:19)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)

但以下修复了它:

D:\Code\AngularJS>npm install -g angcli

D:\Code\AngularJS>ng new greetings-ac
? Select project blueprint: Default template
Cloning into 'D:\Code\AngularJS\greetings-ac'...
install installing using npm
npm WARN package.json angularApp@0.0.0 No description
npm WARN package.json angularApp@0.0.0 No repository field.
npm WARN package.json angularApp@0.0.0 No README data
npm WARN deprecated lodash-node@2.4.1: This package has been discontinued in favor of lodash@^4.0.0.
npm WARN optional dep failed, continuing fsevents@1.0.7
npm WARN deprecated lodash-node@3.10.2: This package has been discontinued in favor of lodash@^4.0.0.
npm WARN optional dep failed, continuing fsevents@1.0.7

目前,运行 npm install --save glob 在您的项目中,或者像 Eric 提到的那样全局安装 npm install -g glob

这在 angluar-cli 项目的 Issue #233 中列出。

The missing glob dep has been fixed in latest master. This will go out in the next release. - posted 4/21/16

具有此修复的 运行 版本:

  • angular-cli: 0.0.33
  • 节点:5.9.1
  • glob: 7.0.3
  • angular2: 2.0.0-beta.14

我遇到了同样的问题。

找不到模块'module_name'

错误:找不到模块 'module_name'

当我运行命令时:

npm install --save module_name

注意:这里的'module_name'是缺失模块的名称。示例:fs-extra、glob、依赖关系图、sort-package-json、@phosphor/coreutils、prettier 等

它抛出一个新的错误,指出缺少一个新模块。每次我尝试修复错误时它都会发生,下次会弹出一个新错误(上面提到的其他包)。

这是我解决错误的方法:

我不得不卸载并取消链接 nodejs 和 npm: 注意:unlink 只有在你之前链接过的情况下才可以使用,否则没有必要

brew uninstall node

brew unlink node

brew unlink npm

brew unlink node_modules

确保从系统中删除所有 node_modules、npm 和 nodejs 文件夹。 我的以下命令可能与您的不同。您也可以手动搜索文件夹并删除它们:

rm -rf /usr/local/lib/node_modules

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp

卸载并删除所有节点后,npm 文件夹,我运行这些命令:

brew install node

npm install yarn -g

npm install -g typescript

npm install

yarn install

解决了所有问题