3

我已经安装了Node.js,express.jsexpress-generator全局的。
但是当我尝试使用expressCLI 创建一个新项目时,我收到了这个错误:

    module.js:471
        throw err;
        ^

    Error: Cannot find module 'commander'
        at Function.Module._resolveFilename (module.js:469:15)
        at Function.Module._load (module.js:417:25)
        at Module.require (module.js:497:17)
        at require (internal/module.js:20:19)
        at Object.<anonymous> (/usr/lib/nodejs/express-generator/bin/express:3:15)
        at Module._compile (module.js:570:32)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)
        at Function.Module._load (module.js:438:

错误消息建议“使用”重新安装 express-generator sudo
即使我没有更改node_modules 变量路径或其他任何内容。

我还没有找到可行的解决方案。请帮我解决这个问题

4

3 回答 3

1

我遇到了和你一样的问题,这是我如何修复我卸载了 express 生成器然后我更新了 npm 并重新安装了 express 生成器,我用这个命令 PATH=~/npm/bin:$PATH 重新安排了我的路径,它可以工作

于 2018-09-14T20:16:07.227 回答
0

我遇到了同样的问题,并且能够通过卸载两个软件包来解决它。不要忘记从整个系统中删除:

sudo npm uninstall -g express
sudo npm uninstall -g express-generator

在此之后,我使用重新安装了两个软件包

sudo npm install -g express express-generator 

在出现错误代码EEXISTS的情况下,可能没有删除指向“/usr/bin/express”的符号链接之类的文件。这些文件可以使用--force.

于 2020-11-14T13:02:14.203 回答
0

此错误源于您安装该express-generator工具的方式。

任何一个

  • 第一次运行,npm uninstall -g express.
    请注意该express-generator工具是引导express@4项目。
    因此,建议您首先全局卸载 express,因为它只生成express@2 & @3项目。
    这有助于避免冲突。
  • 然后运行,npm install express -g express-generator
  • 详情请参见迁移到 express@4 的官方文档

根据您的问题,上述两个步骤应该可以解决问题。

或者

如果错误仍然存​​在,请考虑安装最新express-generator工具。

就我而言,我有express-generator@4.0.0但得到了提到的错误。

// Env: Windows-10, Node-v10.16.3, npm-v6.11.2

C:\>npm list -g --depth=0
  C:\Users\...\npm
  +-- express-generator@4.0.0
  // other packages

因此,我重新安装了该工具...

C:\>npm install -g express-generator
C:\Users\...\npm\express -> C:\Users\...\npm\node_modules\express-generator\bin\express-cli.js
+ express-generator@4.16.1
added 7 packages from 6 contributors, removed 1 package and updated 3 packages in 19.032s

// This command should run, if all went well
C:\>express --version
4.16.1
于 2019-12-05T16:14:03.237 回答