Node.js - 找不到已安装模块的命令

时间:2015-02-04 05:18:26

标签: linux node.js npm node-modules httpserver

我安装并运行了node,npm和http-server。但是,当我尝试启动http服务器时,出现以下错误:

error: Cannot find module 'child-process-close

我尝试过卸载并重新安装节点。这似乎工作得很好,当我使用以下命令全局安装时,看起来它正确安装了http-server:

npm install -g http-server

但是,当我尝试在目录上运行服务器时(我甚至在该目录中本地安装了http-server),我收到以下错误:

zsh: command not found: http-server

当我运行此命令时:

npm ls -g

我明白了:

/Users/amckemie1/.node/lib
├─┬ http-server@0.7.4
│ ├── colors@1.0.3
│ ├─┬ ecstatic@0.5.8
│ │ ├── he@0.5.0
│ │ ├── mime@1.2.11
│ │ └── minimist@1.1.0
│ ├── opener@1.4.0
│ ├─┬ optimist@0.6.1
│ │ ├── minimist@0.0.10
│ │ └── wordwrap@0.0.2
│ ├─┬ portfinder@0.2.1
│ │ └── mkdirp@0.0.7
│ └─┬ union@0.4.4
│   └── qs@2.3.3
└─┬ npm@2.3.0
等等......

我无法弄清楚为什么找不到http-server模块。我猜这与我的PATH或模块的安装位置有关,但我还不了解这些因素还能做更多的事情。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我在这里找到了这个问题的答案:Global Node modules not installing correctly. Command not found

Brad Parks关于重置我的节点安装前缀的答案修复了它!