为啥我创建的 npm 包在安装它作为另一个模块的依赖项时有一个 node_modules 文件夹?

Posted

技术标签:

【中文标题】为啥我创建的 npm 包在安装它作为另一个模块的依赖项时有一个 node_modules 文件夹?【英文标题】:Why does the npm package I created have a node_modules folder in it when installing it as dependency for another module?为什么我创建的 npm 包在安装它作为另一个模块的依赖项时有一个 node_modules 文件夹? 【发布时间】:2017-04-09 07:19:36 【问题描述】:

我刚刚发布了我的第一个 npm 包。当我在我的项目中安装包作为依赖项时,我打开 node_modules 中的项目文件夹,并看到它还有一个 node_modules 文件夹,其中包含一个包history。我的项目没有任何常规依赖项,只有 devDependencies,所以我不明白为什么会这样?你可以看到我的 package.json 文件并尝试从这里的 github 页面安装模块https://github.com/danielyaa5/react-contextulize

【问题讨论】:

【参考方案1】:

运行npm install在许多情况下安装devDependencies

尝试在生产模式下显式安装:

npm install --only=production

这里是related answer,提供更多信息。

【讨论】:

这对我来说没有任何意义,一定有另一种方式我不必告诉我的用户像这样安装它? 你不需要告诉你的用户任何事情。在设置了NODE_ENV=production 的生产系统中,将跳过 devDependencies。

以上是关于为啥我创建的 npm 包在安装它作为另一个模块的依赖项时有一个 node_modules 文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 NPM 安装安装旧版本的 node-sass

使用 npm 安装本地模块?

node npm 为啥所有模块都安装在根 node_modules 文件夹中?

为啥我的 iPhone 应用程序包在更新期间没有替换旧的应用程序包?

为啥我在使用 Typescript 的 .net 核心项目中的 NPM 模块出现此错误?

为啥 npm 看不到类星体?