我写了一个小模块,它使用winston来记录东西。
我用的是sudo npm install -g winston
(它在vm...so上,我不太关心sudo,等等。
来自npm的日志:
winston@0.7.2 /usr/local/lib/node_modules/winston
├── cycle@1.0.2
├── stack-trace@0.0.7
├── eyes@0.1.8
├── colors@0.6.2
├── async@0.2.9
├── pkginfo@0.3.0
└── request@2.16.6 (forever-agent@0.2.0, aws-sign@0.2.0, tunnel-agent@0.2.0, oauth-sign@0.2.0, json-stringify-safe@3.0.0, cookie-jar@0.2.0, node-uuid@1.4.1, mime@1.2.11, qs@0.5.6, hawk@0.10.2, form-data@0.0.10)
当我尝试在节点中运行我的模块时,我得到:
Error: Cannot find module 'winston'
at Function.Module._resolveFilename (module.js:331:15)
at Function.Module._load (module.js:273:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at Object.<anonymous> (/home/name/Code/neon/neon-js-spike/logger.js:2:9)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:349:32)
at Function.Module._load (module.js:305:12)
at Module.require (module.js:357:17)
系统版本: ubuntu node -v = v0.11.7-pre npm -v = 1.3.8
附注:我在我的家用笔记本电脑(另一个ubuntu虚拟机)上尝试了一下,并且工作了。
发布于 2013-11-21 17:20:39
如果设置类路径的建议不起作用,很可能是您需要使用npm链接。请参阅:http://blog.nodejs.org/2011/04/06/npm-1-0-link/
对于winston,转到脚本的根文件夹并使用以下命令:
npm link winston
发布于 2013-10-16 00:39:09
您可能需要export NODE_PATH=/usr/local/lib/node_modules
,其中/usr/local/lib/node_modules
是全局安装节点模块的路径。
发布于 2017-03-12 14:48:02
一般来说,缺失的模块应该通过将NODE_PATH
设置为@fakewaffle来解决。当然,假设它们已经安装好了。
但对winston
来说,这对我不起作用。由于某些原因,我不得不更新文件权限:
chmod o+rx -R /pathto/node_modules/winston
我不知道为什么it权限设置不正确。这个解决方案是针对Ubuntu的,大概它适用于其他linuxes,但不适用于Windows。
https://stackoverflow.com/questions/19386439
复制相似问题