Node.js NodeJS-如何解决“;找不到模块”;本地模块出错?

Node.js NodeJS-如何解决“;找不到模块”;本地模块出错?,node.js,npm,Node.js,Npm,我知道最好的npm安装是使用npm install,但在我使用的专业服务器上是禁止的。此外,我必须通过脏的git克隆安装我的node_模块 通过git,我的模块可以很好地复制并通过以下方式运行: node ./node_modules/.bin/http-server 但通过以下方式失败: node http-server 我返回错误: module.js:340 throw err; ^ Error: Cannot find module '/data/yug/

我知道最好的npm安装是使用
npm install
,但在我使用的专业服务器上是禁止的。此外,我必须通过脏的
git克隆安装我的node_模块

通过git,我的模块可以很好地复制并通过以下方式运行:

node ./node_modules/.bin/http-server
但通过以下方式失败:

node http-server
我返回错误:

module.js:340
    throw err;
          ^
Error: Cannot find module '/data/yug/projects_active/make-modules/http-server'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:935:3

我假设不进行npm安装会导致我的节点模块不在路径中我如何通过
节点运行git克隆的本地模块来修复此问题?

您所询问的咒语不会起作用。
节点
可执行文件需要一个指向要执行的javascript文件的路径。路径可以是相对于当前工作目录的,也可以是绝对路径,但仅此而已。它不会从node.js程序中搜索
node\u模块
,也不会像
require
那样搜索node\u路径


当您运行
/node\u modules/.bin/http server
时,您的shell正在执行该文件,该文件以一行shebang开头,类似于
#/usr/bin/env节点
,它处理运行节点并为您将路径传递到http服务器
文件


如果您希望
节点http服务器
工作,请在make modules目录中创建一个符号链接:
cd make modules&&ln-nsf./node\u modules/.bin/http服务器

/node\u modules/.bin/http服务器对我来说似乎不合适。它通常在路径中有包名。例如,
/node\u modules/http server/.bin/http server
/node\u modules/.bin/http server
/node\u modules/http server/.bin/http server
都适合我。但是http服务器没有。