Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点JS中找不到zepto模块_Javascript_Node.js_Zepto - Fatal编程技术网

Javascript 在节点JS中找不到zepto模块

Javascript 在节点JS中找不到zepto模块,javascript,node.js,zepto,Javascript,Node.js,Zepto,我是一个新手,喜欢nodejs 我安装了zepto和jsdom模块: npm install jsdom -g npm install zepto -g 我使用npm列表-g进行了检查。这些模块已安装 但当我使用require在脚本中引用这两个模块时: var jsdom = require("jsdom"); var Zepto = require("zepto"); 我收到一条错误消息: Error: Cannot find module 'zepto' at Function.Modu

我是一个新手,喜欢nodejs

我安装了zepto和jsdom模块:

npm install jsdom -g
npm install zepto -g
我使用
npm列表-g
进行了检查。这些模块已安装

但当我使用require在脚本中引用这两个模块时:

var jsdom = require("jsdom");
var Zepto = require("zepto");
我收到一条错误消息:

Error: Cannot find module 'zepto'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/user554/dev/exchange/bin/getExchangeData.js:6:13)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
错误:找不到模块'zepto'
在Function.Module.\u解析文件名(Module.js:338:15)
在Function.Module.\u加载(Module.js:280:25)
at Module.require(Module.js:364:17)
根据需要(模块js:380:17)
反对。(/home/user554/dev/exchange/bin/getExchangeData.js:6:13)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
位于Function.Module.runMain(Module.js:497:10)
我只尝试了jsdom和zepto。只有Zepto失败


我错过了什么?感谢您的帮助。

zepto包不是合适的节点包。它安装了Zepto库的缩小版,但看起来它是用于浏览器使用的(为什么它会在NPM存储库中?我不知道)


相反,请尝试该软件包。

这里真正的问题是您正在全局安装。使用
-g
安装仅适用于提供某种命令行脚本的模块(例如
express generator
提供可从shell提示符使用的
express
命令)


通常,您在安装模块时不使用
-g
,它将在本地安装,您可以
require()
安装它。但是,正如@robertklep所指出的,
zepto
模块目前(package.json中缺少“lib”),因此本地安装对该特定模块没有帮助。

require()
模块,请安装它。全局程序包只能从命令行使用。如果您需要两种用途,则必须在两个位置安装它。医生:谢谢,但它似乎不适合我的需要。我想在许多具有相同模块的脚本中使用node.js。因此,维护同一文件的多个副本是愚蠢的。本地化安装通常只针对整个模块的版本依赖性。NPM仅在给定路径中安装模块的一个版本。通过在每个应用程序中使用全局模块,您可能必须一次修改所有应用程序以支持更新模块,或者如果其中一个应用程序根本不支持更新,则必须推迟。我理解您的观点。但您认为只有在出现兼容性问题时才在本地安装它怎么样。直到今天,它将更容易维护。关于我使用的模块以及我使用它们的方式,应该需要很长时间才能实现复古兼容性。为了满足我的好奇心,你怎么知道它不是一个合适的节点包?因为它没有加载;)但更严重的是:
package.json
文件没有
main
属性,该属性用于指向当您
需要
模块时加载的入口点。他可以加载
jsdom
(它也是全局安装的),所以这不是问题所在。在本地安装
zepto
软件包也不能解决问题。谢谢您的回答,但它不适合我在本地安装的需要。具有相同模块的许多脚本。这就是我使用全局安装的模块和节点路径的原因。关于
jsdom
,我猜他们以前安装时没有
-g
,或者使用
npm-link
,它们在原始问题中都没有共享。@mscdex或
$NODE\u PATH
设置为允许加载全局包。@mscdex NODE\u PATH设置为正确执行此任务。