我用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克隆了一个回购。然后:
$ npm install
所有依赖项都安装在node_modules文件夹中。但是,使用node运行代码,我得到:
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文件夹中。我错过了一些非常明显的东西吗?
答案 0 :(得分:0)
尝试做:
npm install -g npm
更新npm。
再次尝试安装susi
。
理想情况下,susi
会在/usr/local/bin