【问题标题】:Node.js - Why does my project says can't find module when it is installed globallyNode.js - 为什么我的项目在全局安装时说找不到模块
【发布时间】:2012-07-27 18:23:06
【问题描述】:

我使用命令“npm install -g express”全局安装了 express。我验证 express 存在于我的 /usr/local/bin/" 目录中。

但是每次我创建一个新项目并执行它时都会显示“找不到模块快递”。

当我使用命令“npm install express”在本地安装 express 时,它可以工作。这是正确的吗?

【问题讨论】:

    标签: node.js express npm


    【解决方案1】:

    根据npm FAQ,全局安装的包仅用于运行可执行文件;它们不会在您的项目中使用,因为项目是独立的实体,不依赖于环境。

    另外,如果您已全局安装了express,您可以使用express 命令创建一个新的基于express 的项目(请参阅express guide 的“快速启动”部分),它可以让您免于手动执行npm install express

    【讨论】:

    • 感谢您的澄清。我以为我每次都安装依赖项是错误的。
    • 理论上,框架作者只有两个选择:强制每个应用程序携带它所有的依赖项和配置(项目之间只共享核心),或者允许应用程序使用一些全局(但特定于机器的)库池。后者在版本管理和自定义库(未列入 npmjs.org)使用方面有很多缺点。前者允许您在安装了适当(或不太适当)Node.js 版本的任何机器上运行应用程序,无论您使用什么库。
    猜你喜欢
    • 2016-01-04
    • 2012-09-17
    • 2017-08-11
    • 2016-05-08
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    相关资源
    最近更新 更多