我正在尝试在新服务器上运行我的节点应用程序,并且遇到NODE_PATH环境变量的一些问题.该应用程序在我的本地计算机(OSX Lion)上运行良好,但在服务器(Redhat linux)上运行不正常.node app.js从我的项目目录中启动我的应用程序时/development/nodeproject,我收到以下错误:
Error: Cannot find module 'mod/core/models/Category'
at Function._resolveFilename (module.js:334:11)
at Function._load (module.js:279:25)
at Module.require (module.js:357:17)
at require (module.js:368:17)
at /development/nodeproject/app.js:57:5
at Object.<anonymous> (/development/nodeproject/app.js:258:1)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
Run Code Online (Sandbox Code Playgroud)
mod/core/models/Category是我的app.js中的第一个require(),看起来像这样:var Category = require('mod/core/models/Category').所以显然节点不在我的项目目录中寻找模块.
我不确定为什么,因为我做了以下更改(在我的本地机器上运行正常).
export NODE_PATH=/development/nodeproject到我的〜/ .bash_profilesource ~/.bash_profileenv我看到NODE_PATH=/development/nodeproject那里列出process.env.NODE_PATH我得到/development/framework(这应该输出一个数组而不是一个字符串吗?)其他可能相关的信息:
在这一点上,我不确定我还能做些什么.任何帮助将不胜感激.
NODE_PATH用于模块,不用于解决方案文件.尝试 module.paths.push("/ development/nodeproject","one/more/path"); 在任何require()调用之前.你真的应该对nodeproject目录中的文件使用require('./ mod/core/models/Category')的相对要求
您正在寻找的功能已被删除。使用node_modules目录或相对要求,例如require('./mod/core/models/Category').
这个答案有更多信息:NODE_PATH error with node.js while attempts to setup jsctags for vim
| 归档时间: |
|
| 查看次数: |
14544 次 |
| 最近记录: |