我正在尝试在Mac OSX Lion上设置Node。一切似乎都正常,但是我似乎无法从全局模块文件夹中导入任何模块。我得到了错误
Error: Cannot find module <module>
如果我运行this node -e require.paths:,得到的响应是:
node -e require.paths
[ '/usr/local/lib/node_modules', '/Users/Me/.node_modules', '/Users/Me/.node_libraries', '/usr/local/Cellar/node/0.4.12/lib/node' ]
没错,我的模块确实安装在/ usr / local / lib / node_modules中。但是,当我尝试运行脚本时,却得到以下信息:
Error: Cannot find module 'socket.io' at Function._resolveFilename (module.js:326:11) at Function._load (module.js:271:25) at require (module.js:355:19) at Object.<anonymous> (/Users/Me/node/server.js:2:10) at Module._compile (module.js:411:26) at Object..js (module.js:417:10) at Module.load (module.js:343:31) at Function._load (module.js:302:12) at Array.<anonymous> (module.js:430:10) at EventEmitter._tickCallback (node.js:126:26)
我的.bash_profile看起来像这样:
export PATH=/usr/local/mysql/bin:$PATH export NODE_PATH=/usr/local/lib/node_modules export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/"
非常感谢您的帮助,我不知道为什么不能导入任何库。
如果您使用的npm> = 1.0,则可以npm link <global-package>用来创建指向已全局安装的软件包的本地链接。( 警告:操作系统必须支持符号链接。 )
npm link <global-package>
但是,这并非没有问题。
npm link是一个开发工具。这是 真棒 对当地的发展框管理包。但是使用npm链接进行部署本质上是在问问题,因为它使得在不意识到的情况下更新事物变得非常容易。
或者,您可以在本地或全局安装软件包。
有关更多信息,请参见