首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将节点要求库添加到路径中?

如何将节点要求库添加到路径中?
EN

Stack Overflow用户
提问于 2016-06-25 19:40:08
回答 2查看 4K关注 0票数 0

安装bitcoinjs并启动节点并运行之后:

代码语言:javascript
复制
var bitcoin = require('bitcoinjs-lib');

我收到错误:

代码语言:javascript
复制
Error: Cannot find module 'bitcoinjs-lib'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at repl:1:15
    at REPLServer.defaultEval (repl.js:262:27)
    at bound (domain.js:287:14)
    at REPLServer.runBound [as eval] (domain.js:300:12)
    at REPLServer.<anonymous> (repl.js:431:12)
    at emitOne (events.js:82:20)

当我运行这些命令时,它似乎找到了库:

代码语言:javascript
复制
$ pwd
/usr/local/lib/node_modules
$ ls
bitcoinjs-lib   browserify  npm     uglify-js
$ node
> var bitcoin = require('bitcoinjs-lib');
undefined

我认为它在这种情况下是可行的,因为我正在从库/usr/local/lib/node_modules运行节点

如何将模块库添加到节点,这样就可以从任何位置找到所需的库,而不必将目录更改为/usr/local/lib/ node _ modules?

我尝试在bash_profile中修改path,以便:

代码语言:javascript
复制
PATH=$PATH:/usr/local/lib/node_modules

但这并不能解决问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-25 19:49:47

要使它快速工作,您需要设置$NODE_PATH

代码语言:javascript
复制
NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules

但是,一般来说,Node模块不应该是全局安装的(这意味着在“系统目录”(如/usr/local/lib/node_modules)中)。

相反,您可以创建一个项目目录,并在那里安装该模块:

代码语言:javascript
复制
$ mkdir my-project
$ cd my-project
$ npm install bitcoinjs-lib

如果您在该项目目录中运行Node,require('bitcoinjs-lib')将工作。

票数 3
EN

Stack Overflow用户

发布于 2020-03-05 03:51:07

一种讨厌的方式:

代码语言:javascript
复制
module.paths.unshift(<path>);
代码语言:javascript
复制
process.env.NODE_PATH = <path>
module.constructor._initPaths();

当我编写Cocos Creator(基于电子)插件时,我想出了上面的解决方案,这个插件是在IDE打开时加载的。我需要从这个插件中require一个utils脚本,它不位于任何需要的路径中。我在CC和Node.js v10.16.0中测试了Win10的第一个代码片段。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38032289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档