解决 npm 无法安装 devDependencies 下的依赖包的问题

分析原因

  • 起初无法安装 devDependencies 下依赖包,急的不行,以为是 npm 版本有问题,陆续安装了 node@6.11.5、node@8.0.0 和 node@8.6.0 都试了还是不行;
  • 我就像是不是哪个配置项有问题,立马去 C:\Users\Administrator\.npmrc 下去查看 .npmrc 文件,这个文件会记录 npm 的默认配置,发现里面就只配置了一个淘宝镜像,也没其它配置可看,此时就开始怀疑是不是安装其它环境影响了 Node 的环境;
  • 第二天在我同事电脑上安装了 nvm 和 node,测试是可以成功安装 devDependencies 下的依赖包,此时就可以排除是 npm 版本问题了,应该是我本机某些配置项出现了差错;
  • 查看配置信息 $ npm config list,该指令只能查看 .npmrc 下的基础配置信息,前面已经说过,突然发现最下面提示一行 $ npm config ls -l,该指令可以查看 npm 自身默认配置信息,查看可以得到将近百条信息;
  • 有时就靠那么点灵感,嫩你怎么想,也不会想到是 npm 自身默认配置信息出问题了啊,可偏偏就出在这里,我将我同事电脑里的默认配置和我本机默认配置在在线文本比较工具比较之后终于找到这个罪魁祸首 —— production 属性。

解决方法

npm 有个默认配置项 production (生产)设置为 true 时就不会安装 devDependencies 下的依赖包。

// 配置成 false,意思是不在生产环境下
$ npm config set production false

分析起因

问题解决了,就思考为什么会出现这种情况,想到在不久之前在 windows 的环境变量里添加了 NODE_ENV = production 这条属性,可能就是这个影响到了它。

环境变量中配置 NODE_ENV
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 描述 npm从以下来源获取配置值,按优先级排序: 命令行标记 在命令行上放置--foo bar设置foo配置参数为...
    竹天亮阅读 44,223评论 0 8
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 6,265评论 2 36
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 一、NodeJS环境 什么是nodejs node是一个基于chrome v8引擎的javascript的运行环境...
    EndEvent阅读 1,275评论 0 1
  • npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具...
    build1024阅读 7,969评论 0 9