当前位置: 首页 > 面试题库 >

如何在Node中导入全局模块?我收到“错误:找不到模块”?

汤洋
2023-03-14
问题内容

我正在尝试在Mac OSX Lion上设置Node。一切似乎都正常,但是我似乎无法从全局模块文件夹中导入任何模块。我得到了错误

Error: Cannot find module <module>

如果我运行this node -e require.paths:,得到的响应是:

[ '/usr/local/lib/node_modules',
  '/Users/Me/.node_modules',
  '/Users/Me/.node_libraries',
  '/usr/local/Cellar/node/0.4.12/lib/node' ]

没错,我的模块确实安装在/ usr / local / lib / node_modules中。但是,当我尝试运行脚本时,却得到以下信息:

Error: Cannot find module 'socket.io'
    at Function._resolveFilename (module.js:326:11)
    at Function._load (module.js:271:25)
    at require (module.js:355:19)
    at Object.<anonymous> (/Users/Me/node/server.js:2:10)
    at Module._compile (module.js:411:26)
    at Object..js (module.js:417:10)
    at Module.load (module.js:343:31)
    at Function._load (module.js:302:12)
    at Array.<anonymous> (module.js:430:10)
    at EventEmitter._tickCallback (node.js:126:26)

我的.bash_profile看起来像这样:

export PATH=/usr/local/mysql/bin:$PATH
export NODE_PATH=/usr/local/lib/node_modules
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/"

非常感谢您的帮助,我不知道为什么不能导入任何库。


问题答案:

如果您使用的npm> = 1.0,则可以npm link <global-package>用来创建指向已全局安装的软件包的本地链接。(
警告:操作系统必须支持符号链接。

但是,这并非没有问题。

npm link是一个开发工具。这是 真棒
对当地的发展框管理包。但是使用npm链接进行部署本质上是在问问题,因为它使得在不意识到的情况下更新事物变得非常容易。

或者,您可以在本地或全局安装软件包。

有关更多信息,请参见

  • https://nodejs.org/en/blog/npm/npm-1-0-link/
  • https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/


 类似资料:
  • 问题内容: 我的Node应用程序在本地运行良好,但是在部署到Heroku时遇到错误。该应用程序使用Sequelize在一个文件夹,其中包含,和。在本地,我可以使用中的以下代码导入模型: 这很好,但是,当我部署到Heroku时,应用程序崩溃并显示以下错误: 最初我以为是由于区分大小写(本地mac与heroku linux),但是我移动了文件,进行了git commit,然后又移回并再次提交,以确保在

  • 问题内容: 配置:macOS High Sierra,版本10.13.2,节点:v8.1.2 npm:5.0.3在我的angularjs项目中运行npm start时,出现以下错误: 之后,我运行: 现在我得到这个错误: 为什么npm不安装node-sass?如何安装node-sass? 问题答案: 解决方法如下: 请享用!

  • 问题内容: 运行webpack后出现此错误。Webpack已全局安装,并且我正在运行Node 问题答案: Node需要您将webpack安装到您的项目中。 您可以通过以下两种方法解决上述问题: 删除全局webpack并在本地安装 您可以将全局webpack pkg链接到项目的节点模块。这样做的缺点是您的项目将被迫使用最新的Webpack。仅当某些更新不向后兼容时,这才会产生问题。 您可以根据需要省

  • 我的文件目录是这样的: SSDTTime.py文件的首行是引入Scripts文件夹里面的文件,是这样写的: Scripts文件夹里面是这样的: 我在powershell里面运行SSDTTime.py文件,出现如下错误,找不到Scripts模块: 大佬帮解释一下怎么回事。

  • 问题内容: 我写了一个模块,我刚才将其发布到npm(https://npmjs.org/package/wisp) 因此,可以从命令行进行安装: 但是,当我从命令行运行它时,我不断收到未安装乐观主义者的错误消息: 但是,我在package.json中指定了依赖性: 有谁知道该怎么做才能使它运行?我知道它与bin部分有关,将可执行文件添加到bin中,该目录中的node_modules为空。不知道如何

  • 我写了一个模块,不久前发布到npm(https://npmjs.org/package/wisp) 所以它可以从命令行安装: 但是,当我从命令行运行它时,我不断收到一个错误,即未安装optimist: 但是,我在package.json中指定了依赖项: 有人知道该怎么做才能让它运行吗?我知道这与bin部分将可执行文件添加到bin以及该目录中的node_模块为空有关。不知道如何解决这个问题。