我试图在Mac OSX Lion上设置Node。这一切似乎工作确定,但我似乎不能从我的全局模块文件夹导入任何模块。我得到的错误,
Error: Cannot find module <module>
如果我运行这个: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 is a development tool. It’s awesome for managing packages on your local development box. But deploying with npm link is basically asking for problems,since it makes it super easy to update things without realizing it.
或者,您可以在本地以及全局安装软件包。
有关其他信息,请参阅
> https://nodejs.org/en/blog/npm/npm-1-0-link/
> https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/