首页 > 解决方案 > vue cli 项目不会运行 - 'babel-code-frame'

问题描述

我正在尝试在 Linux 上创建绝对基本的新 vue-cli 项目。生成的项目不会运行。我究竟做错了什么?

我安装了最新的 vue cli

sudo npm install -g @vue/cli@4.5.0

我创建了一个新项目:

cd /tmp
vue create project1

我选择了默认预设。

我试图运行该项目

$ cd project1

$ npm run serve

> project1@0.1.0 serve /tmp/project1
> vue-cli-service serve

 INFO  Starting development server...
 ERROR  Error: Cannot find module 'babel-code-frame'
Error: Cannot find module 'babel-code-frame'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/share/nodejs/eslint/lib/formatters/codeframe.js:8:19)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at exports.loadModule (/tmp/project1/node_modules/@vue/cli-shared-utils/lib/module.js:79:14)
    at api.chainWebpack.webpackConfig (/tmp/project1/node_modules/@vue/cli-plugin-eslint/index.js:59:26)
    at webpackChainFns.forEach.fn (/tmp/project1/node_modules/@vue/cli-service/lib/Service.js:236:40)
    at Array.forEach (<anonymous>)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! project1@0.1.0 serve: `vue-cli-service serve`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the project1@0.1.0 serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kevin/.npm/_logs/2020-07-24T17_38_02_618Z-debug.log

我的 npm 版本是 6.14.7

$ npm --version
6.14.7

这是按照 Igor 的建议手动破解“@babel/code-frame”后的 package.json。

{
  "name": "project1",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.6.5",
    "vue": "^2.6.11"
  },
  "devDependencies": {
    "@babel/code-frame": "^7.10.4",
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^6.2.2",
    "vue-template-compiler": "^2.6.11"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {}
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}

我尝试按照这张票清除 npm 缓存,但没有任何区别。

https://stackoverflow.com/questions/42308879/npm-err-code-elifecycle

标签: vue.jsbabeljsvue-cli

解决方案


我删除并重新安装了 nodejs 和 npm 来解决问题。

sudo apt-get remove npm
sudo apt-get remove nodejs

重新安装

sudo apt-get update
sudo apt-get install nodejs npm

推荐阅读