我用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文件夹中。但是,使用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文件夹中。我是不是错过了什么非常明显的东西?
发布于 2015-07-20 19:06:36
尝试执行以下操作:
npm install -g npm
更新npm。
再次尝试安装susi
。
理想情况下,可以在/usr/local/bin
中设置susi
https://stackoverflow.com/questions/31517071
复制