NodeJS - 如何解决本地模块上的“找不到模块”错误?
NodeJS - How to resolve “Cannot find module” error on local modules?
我知道最好的 npm install 是使用 npm install
,但在我使用的专业服务器上是禁止的。此外,我必须通过脏 git clone <node_module_git_repository>
.
安装我的 node_modules
通过 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 install 会使我的节点模块不在路径中。 我怎样才能修复我的 git 克隆的本地模块通过 node <module_name>
运行?
你问的咒语是行不通的。 node
可执行文件需要 javascript 文件的路径才能执行。该路径可以是相对于当前工作目录的,也可以是绝对的,仅此而已。它不会像 require
在 node.js 程序中那样搜索 node_modules
或 NODE_PATH。
当您 运行 ./node_modules/.bin/http-server
您的 shell 正在执行该文件时,该文件以处理 运行ning 节点的 shebang 行开头,类似于 #!/usr/bin/env node
并将它传递给您 http-server
文件的路径。
如果您希望 node http-server
工作,请在 make-modules 目录中创建一个符号链接:cd make-modules && ln -nsf ./node_modules/.bin/http-server
.
我知道最好的 npm install 是使用 npm install
,但在我使用的专业服务器上是禁止的。此外,我必须通过脏 git clone <node_module_git_repository>
.
通过 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 install 会使我的节点模块不在路径中。 我怎样才能修复我的 git 克隆的本地模块通过 node <module_name>
运行?
你问的咒语是行不通的。 node
可执行文件需要 javascript 文件的路径才能执行。该路径可以是相对于当前工作目录的,也可以是绝对的,仅此而已。它不会像 require
在 node.js 程序中那样搜索 node_modules
或 NODE_PATH。
当您 运行 ./node_modules/.bin/http-server
您的 shell 正在执行该文件时,该文件以处理 运行ning 节点的 shebang 行开头,类似于 #!/usr/bin/env node
并将它传递给您 http-server
文件的路径。
如果您希望 node http-server
工作,请在 make-modules 目录中创建一个符号链接:cd make-modules && ln -nsf ./node_modules/.bin/http-server
.