如何在全球范围内安装npm模块?
我已经在全局安装了some-npm-module
,但是当我require()
时候出现错误:
$ node > const module = require('some-npm-module') > import module from 'some-npm-module' Error: Cannot find module 'some-npm-module' at Function.Module._resolveFilename (module.js:470:15) at Function.Module._load (module.js:418:25) at Module.require (module.js:498:17) at require (internal/module.js:20:19) at repl:1:12 at realRunInThisContextScript (vm.js:22:35) at sigintHandlersWrap (vm.js:98:12) at ContextifyScript.Script.runInThisContext (vm.js:24:12) at REPLServer.defaultEval (repl.js:313:29) at bound (domain.js:280:14)
核心节点模块似乎没有问题的工作。 以下不会产生错误:
const http = require('http');
为什么会发生? 我正确安装模块吗?
请注意,在这种情况下,我需要在terminal中使用npm模块,而不是在某个项目中。
根据文档 ,如果您打算在命令行上调用它们,则应该只在全局安装模块:
如果你想用它作为命令行工具,像grunt CLI,那么你想要全局安装它。 另一方面,如果你想依靠你自己的模块使用像Node的要求那样的包,那么你想在本地安装。
这是因为require()
不会在全局模块目录中查找,所以如果它安装在那里,它永远不会findsome-npm-module
。
使用npm install some-npm-module
安装本地npm install some-npm-module
应该可以解决您的问题,并允许您从REPL请求(只要您始终从同一目录运行REPL)。
请删除整个node_modules文件夹并重新安装
-
rm -rf node_modules
-
npm安装
在全局安装一个npm模块之后,要在当前的项目/目录中使用它,只需链接它。
npm链接module_name
它应该工作。
- 如何使用Nodejs + angular JS和MySQL创builddynamic树视图
- 如何将浏览器端的客户端值传递给node.js控制器
- 我怎样才能解决learnyounode HTTP收集没有第三方库
- 在哪里把前端的JavaScriptconfigurationvariables
- MongoDb – 有空值的有界数组显示无界
- 如何让node.js和Mocha在浏览器中运行(testing)?
- 像JavaScript / Node一样创build一个类似Stack的行为
- 为什么在mongodb-native驱动中有单独的mongo.Server和mongo.Db?
- MongoDB $ cmp(聚合)给出错误的结果