无法运行快递发电机

时间:2017-09-27 09:16:10

标签: node.js express path express-generator

我安装了nodeJS并在全球范围内安装了express和express发生器。当我尝试使用快速生成器创建项目时,我收到此错误

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:

控制台告诉我再次使用sudo安装express-generator,我没有做任何其他事情,比如更改节点模块的path变量。我查看了人们发布的解决方案,例如更改path变量等。虽然我确实尝试了所有解决方案,但我找不到有效的解决方案。请帮我解决这个问题

2 个答案:

答案 0 :(得分:0)

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

要么

  • 首先运行npm uninstall -g express.
    注意,express-generator工具将引导express@4项目。
    因此,建议您首先全局 uninstall express ,因为它仅生成express@2 & @3个项目。
    这有助于避免冲突。
  • 然后运行npm install express -g express-generator
  • 有关详细信息,请参见migrating to 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

答案 1 :(得分:0)

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

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

此后,我使用

重新安装了两个软件包。
sudo npm install -g express express-generator 

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