【问题标题】:How to install a npm module in current directory?如何在当前目录中安装 npm 模块?
【发布时间】:2022-02-20 08:59:24
【问题描述】:

我正在尝试将 express 安装到我当前的“目录”中。
但是节点会在全局范围内安装它,我不明白如何告诉节点将它安装在我的当前目录中。

【问题讨论】:

标签: node.js express npm npm-install


【解决方案1】:

当我还是终端菜鸟时,我问过这个问题。 解决方法很简单:

cd(使用命令行导航)到您要安装模块的目录,然后它应该可以正常工作。首先npm init 是个好主意。

【讨论】:

    【解决方案2】:

    我在我的项目目录中安装节点模块时遇到了类似的问题,即使我没有指定“-g”全局标志。在 Linux 上,我在当前目录中安装的任何软件包最终都会安装到 ~/node_modules(即 /home/user/node_modules)中。

    原因和解决方法在npm install module in current directory 的线程中进行了解释。简而言之,npm 在

    所在的目录中查找 node_modules 子目录

    npm 安装

    被调用。如果没有找到,npm 会继续向上移动,搜索该目录的祖先,直到找到 node_modules。假设是一个Linux系统,如果在当前用户家的最上层,即/home/user中没有找到,它会在当前目录下创建node_modules,这是必需的行为。但是我已经有一个 ~/node_modules 目录,它不允许这种情况发生。

    解决方法是先运行

    npm 初始化

    在当前目录中,它以交互方式创建一个 package.json 文件,告诉 npm 我们正在该目录中创建一个包,并且任何依赖项都需要是包本地的,因此需要 node_modules/ 从而需要节点包本地安装。

    在创建package,json后,在该目录下运行的安装命令将在本地安装express等包。

    【讨论】:

      猜你喜欢
      • 2012-12-11
      • 2019-02-18
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-10
      • 1970-01-01
      相关资源
      最近更新 更多