为啥我创建的 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 文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
node npm 为啥所有模块都安装在根 node_modules 文件夹中?
为啥我的 iPhone 应用程序包在更新期间没有替换旧的应用程序包?