在windows上,由于某些原因,当我运行npm install时,它不会安装devDependencies。我想应该是这样。如果我运行npm install——dev devDependencies被安装。我不明白为什么npm install不安装devDependencies,而只安装依赖项。原因是什么呢?我该怎么解决呢?

也许我的package.json有问题?如有帮助,建议如下:

{
  "name": "try-brunch",
  "version": "0.1.0",
  "private": "true",
  "devDependencies": {
    "brunch": "^2.0.4",
    "cssnano-brunch": "^1.1.5",
    "javascript-brunch": "^1.8.0",
    "sass-brunch": "^1.9.2",
    "uglify-js-brunch": "^1.7.8"
  },
  "dependencies": {
    "jquery": "^2.1.4"
  }
}

当前回答

在我的例子中,问题是我在运行npm install的同一终端会话中将NODE_ENV变量设置为production。

为了让我的构建正常运行,我不允许改变NODE_ENV的值,所以我强迫npm安装所有的依赖项,通过添加——production=false标志:npm install——production=false,正如文档中提到的那样。

如果你不需要将NODE_ENV设置为production,你可以简单地输入export NODE_ENV=development到你的终端来覆盖它的值,并再次运行npm install。

其他回答

我有一个包裹锁。Json文件从旧版本的包。json,我删除了它,然后一切安装正确。

确保你的包裹。Json有效…

我有以下错误…

无效的名称:"blah blah blah"

这同样会导致没有安装devDependencies。

供你参考,换包装。Json "name" to blah-blah-blah修复了它。

确保你没有将环境变量NODE_ENV设置为'production'。

如果这样做,没有——dev标志就不会安装开发依赖项

在运行npm-check-updates -u后得到类似的错误。通过删除node_modules文件夹和package-lock.json解决了这个问题。在那之后,一个新的npm安装和一切工作。

我的例外:

中声明的解析器“@typescript-eslint/parser”加载失败 的包。eslint-config-react-app#overrides[0]':无法找到 模块“@typescript-eslint /解析器”

检查npm config production value是否设置为true。如果这个值为true,它将跳过开发依赖项。

执行npm config get production命令

设置方法:npm config set -g production false