GatsbyJS博客在“ npm更新”后不再编译了吗?

时间:2018-08-10 19:21:05

标签: node.js npm webpack gatsby

如果是我不了解的Gatsby,webpack或npm问题。

我在终端中执行了这些命令,它们似乎已经开始出现问题,试图修复具有“无法找到模块”错误的material-ui“ Popper”模块。

npm install react-popper@next --save    
npm install avj    
npm install --save-dev webpack    
npm install & npm update

端子:

  

错误加载本地开发命令时出现问题。盖茨比   可能未安装。也许您需要运行“ npm install”?

     

enter image description here     错误:找不到模块“ webpack / lib / removeAndDo”

package.json

{
  "name": "auto-club-reviews",
  "description": "Auto Club Reviews Blog",
  "version": "1.0.0",
  "author": "Sofianu Alin",
  "dependencies": {
    "@material-ui/core": "^1.4.3",
    "@material-ui/icons": "^1.1.0",
    "gatsby": "^1.9.277",
    "gatsby-link": "^1.6.46",
    "gatsby-plugin-feed": "^1.3.25",
    "gatsby-plugin-google-analytics": "^1.0.31",
    "gatsby-plugin-offline": "^1.0.18",
    "gatsby-plugin-react-helmet": "^2.0.11",
    "gatsby-plugin-react-next": "^1.0.11",
    "gatsby-plugin-sharp": "^1.6.48",
    "gatsby-plugin-typography": "^1.7.19",
    "gatsby-remark-copy-linked-files": "^1.5.37",
    "gatsby-remark-images": "^1.5.67",
    "gatsby-remark-responsive-iframe": "^1.4.20",
    "gatsby-remark-smartypants": "^1.4.12",
    "gatsby-source-contentful": "^1.3.54",
    "gatsby-source-filesystem": "^1.5.39",
    "gatsby-transformer-remark": "^1.7.44",
    "gatsby-transformer-sharp": "^1.6.27",
    "lodash": "^4.17.10",
    "react": "^16.4.2",
    "react-dom": "^16.4.2",
    "react-helmet": "^5.2.0",
    "react-hover": "^1.3.2",
    "react-popper": "^1.0.2",
    "typeface-roboto": "0.0.54"
  },
  "devDependencies": {
    "eslint": "^5.3.0",
    "eslint-plugin-react": "^7.10.0",
    "gh-pages": "^1.2.0",
    "html-webpack-plugin": "^3.2.0",
    "prettier": "^1.14.2",
    "webpack": "^4.16.5",
    "webpack-command": "^0.4.1",
    "webpack-dev-middleware": "^3.1.3",
    "webpack-dev-server": "^3.1.5"
  },
  "homepage": "https://github.com/gatsbyjs/gatsby-starter-blog#readme",
  "keywords": [
    "gatsby"
  ],
  "license": "MIT",
  "main": "n/a",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/gatsbyjs/gatsby-starter-blog.git"
  },
  "scripts": {
    "dev": "gatsby develop",
    "lint": "./node_modules/.bin/eslint --ext .js,.jsx --ignore-pattern public .",
    "test": "echo \"Error: no test specified\" && exit 1",
    "format": "prettier --trailing-comma es5 --no-semi --single-quote --write 'src/**/*.js' 'src/**/*.md'",
    "develop": "gatsby develop",
    "build": "gatsby build",
    "deploy": "gatsby build --prefix-paths && gh-pages -d public",
    "fix-semi": "eslint --quiet --ignore-pattern node_modules --ignore-pattern public --parser babel-eslint --no-eslintrc --rule '{\"semi\": [2, \"never\"], \"no-extra-semi\": [2]}' --fix gatsby-node.js"
  }
}

也试图:

先删除node_modules,然后再进行npm install;

卸载“ webpack-cli”:“ ^ 3.1.0”并安装webpack-commander;

卸载似乎在终端上抱怨的extract-text-webpack-plugin;

有任何同志吗?

1 个答案:

答案 0 :(得分:2)

您是否正在尝试Gatsby v2?您的package.json显示了React v16,它是Gatsby v2的peerDependency,而不是Gatsby v1的package.json。在Gatsby v1(这是package.json中的版本)中,您不应该直接安装React,它是作为Gatsby的依赖项安装的。

Webpack还是v1和v2的Gatsby依赖项。我认为您不应该将它作为顶级依赖项放在gatsby-node.js中。

我建议从干净的Gatsby入门开始,然后将gatsby-config.jspackage.json,组件,内容等复制到该项目中。保留npm install --save文件。然后对您显式importrequire的每个程序包运行yarn。希望您能回到工作现场。

我个人也建议在npm之上推荐Select * from person where age > 18