【发布时间】:2015-10-09 14:37:50
【问题描述】:
我用 Homebrew 安装了 Node 和 NPM。然后我安装了 Susi:
npm install -g susi
/Users/oliver/.node/bin/susi -> /Users/oliver/.node/lib/node_modules/susi/susi
susi@0.2.3 /Users/oliver/.node/lib/node_modules/susi
├── hairlip@0.0.1
├── tiny-ssi@0.0.2
├── commonmark@0.12.0
└── moment@2.8.3
但是尝试使用 Susi,我得到了错误:
-bash: susi: command not found
所以,我编辑了 .profile。 echo $PATH 返回:
/Users/oliver/.rbenv/shims:/usr/local/share/npm/bin:/usr/local/sbin:/usr/local/mysql/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/oliver/.node/lib/node_modules
仍然找不到。我想我需要告诉它查看 /nodule_modules 中的目录,但我不确定如何去做。 NPM 不应该自动管理它吗?我的 $PATH 设置是否正确,还是我遗漏了什么?
(很抱歉不得不问一些如此基本的问题。任何帮助将不胜感激!)
编辑:
我按照此处的说明完全卸载了 Node 和 NPM:http://hungred.com/how-to/completely-removing-nodejs-npm/
这次我使用 NPM 安装 Jasmine(全局)。
$ which jasmine
/usr/local/bin/jasmine
$ echo $NODE_PATH
/usr/local/bin
但是当我尝试使用 Jasmine 时:
$ node jasmine bob_test.spec.js
我收到此错误:
module.js:338
throw err;
^
Error: Cannot find module '/Users/oliver/exercism/javascript/bob/jasmine'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
Node 似乎只在寻找本地安装。我完全糊涂了……
编辑:
我从 github 克隆了一个 repo。那么:
$ npm install
所有依赖项都安装到 node_modules 文件夹。但是,使用节点运行代码,我得到:
Error: Cannot find module 'contra.emitter'
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)
...
虽然 contra.emitter 明确安装在 node_modules 文件夹中。我是否错过了一些非常明显的事情?
【问题讨论】: