在用npm安装后找不到命令

预先感谢您看我的文章!

主要问题:

  1. 当我从命令行调用它时,我需要做些什么来获取http-server?

  2. 我觉得这个问题已经显示出我的linux无能。 如果我想从头开始使用node和home brew,那么在继续之前,我需要删除哪些文件和目录(或者确保它们已经被卸载命令删除)?

提前致谢!

背景

之后我想我已经修复了家庭冲煮(OS X 10.10使用了更新版本的Ruby),我试图在收到消息-bash: http-server: command not found后,尝试用npm重新安装http-server。 所以我运行sudo npm install -g http-server 。 然后我得到一个包含npm http GET https://registry/npmjs.org/npm http 304 https://registry/npmjs.org/ 。 后面是~.node/bin/http-server -> ~.node/lib/node_modules/http-server/bin/http-server' and 'http-server@0.7.3 ~.node/lib/node_modules/http-server

笔记

  1. 我发现这个/usr/local/bin/http-server@ ,我相信这是http-server的符号链接。

  2. 看来,链接http-server -> ../lib/node_modules/http-server/bin/http-server不存在,我不明白为什么。

  3. 文件夹/usr/local/lib/node_modules/http-server确实有0.6.10.7.3

  4. 目录0.7.3只有一个package目录,后面跟着一个package.json文件。 我很困惑,因为我期望这不仅仅包含一个package.json。

  5. 我相信brew是正确安装的,因为which brew会提供/usr/local/bin/brew

  6. 另外,我得到了brew -v Homebrew 0.9.5

  7. which npm给出/usr/local/bin/npm (节点也是这样)

  8. npm -v给出1.4.28

  9. 我的pathvariables列在第10项(分解出来,因此更具可读性),如下所示。

    • $ HOME / .npm(我手动把这个在这里,见下面11为什么)
    • /箱
    • / sbin目录
    • 在/ usr / bin中
    • / usr / sbin目录
    • 在/ usr / local / bin目录
    • 在/ usr /本地/ MySQL的/ bin中
    • /select/ X11 / bin中
  10. 看来$ Home / .npm有一个我已经用npm安装的软件包列表。 我以为,如果我把$ Home / .npm它可能会看到http-server,这是在这个目录中。 但似乎与上面第4点所述的结构相同。

  11. 我使用OS X 10.10

  12. 昨天我安装了X代码6.1,因为显然是由于命令行问题而需要的。

全局安装

你用npm在全局安装了http-server吗?

要全局安装模块(您需要CLI),必须启用全局标志:

npm install -g http-server

npm脚本

也可以在本地安装CLI模块,并从npm脚本运行它们。

在你的package.json

 ... devDependencies: { "http-server": "^0.8.5" }, scripts: { "serve": "http-server ./public" } ... 

然后

 http-server ./public # unsuccessful npm run serve # successful