Ошибка после обновления до Babel 7: требуется Babel "^ 7.0.0-0", но был загружен с "6.26.3" - PullRequest
0 голосов
/ 05 апреля 2019

Я обновился до Babel 7, используя https://github.com/babel/babel-upgrade, и теперь у меня есть ошибка, связанная с grunt / browserify.

В файле grunt:

browserify: {
  options: {
    watch: true,
    transform: [['babelify', {
      presets: ['@babel/preset-env', '@babel/preset-react'],
      plugins: [
        ['@babel/plugin-transform-react-jsx', {'pragma':'h'}]
      ],
    }]],
    browserifyOptions: {
      standalone: 'Viewer', // Set name of package as window global when no package system is present
      debug: true           // Enables Source Maps
    }
  },
  all: {
    options: {
      watch: true,          // Listen for incremental changes to files (fast incremental build)
    },
    files: {
      ...
    }
  }
} . . .

При 'browserify: all' появляется следующая ошибка:

Ошибка: требуется Babel "^ 7.0.0-0", но был загружен с "6.26.3". Если вы уверены, что у вас есть совместимая версия @ babel / core, вероятно, что-то в процессе сборки загружает неправильную версию. Изучите трассировку стека этой ошибки, чтобы найти первую запись, в которой не упоминается "@ babel / core" или "babel-core", чтобы увидеть, что вызывает Babel. (Во время обработки предустановки: «XXXX») при разборе файла: «XXXXXX»

Может ли кто-нибудь помочь мне разобраться с этим шоу-стоппером?

package.json:

 "devDependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-decorators": "^7.0.0",
"@babel/plugin-proposal-do-expressions": "^7.0.0",
"@babel/plugin-proposal-export-default-from": "^7.0.0",
"@babel/plugin-proposal-export-namespace-from": "^7.0.0",
"@babel/plugin-proposal-function-bind": "^7.0.0",
"@babel/plugin-proposal-function-sent": "^7.0.0",
"@babel/plugin-proposal-json-strings": "^7.0.0",
"@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
"@babel/plugin-proposal-numeric-separator": "^7.0.0",
"@babel/plugin-proposal-optional-chaining": "^7.0.0",
"@babel/plugin-proposal-pipeline-operator": "^7.0.0",
"@babel/plugin-proposal-throw-expressions": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-import-meta": "^7.0.0",
"@babel/plugin-transform-react-jsx": "^7.3.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^23.6.0",
"grunt-browserify": "^5.3.0",
"jest": "^23.5.0",
"jsdom": "^12.1.0"

},

"dependencies": {
"@tweenjs/tween.js": "^17.3.0",
"autoprefixer": "^6.7.5",
"babelify": "^7.3.0",
"browserify": "^13.1.0",
"cssnano": "^3.10.0",
"diff-arrays-of-objects": "^1.1.2",
"eslint": "^3.7.1",
"eslint-plugin-react": "^6.10.3",
"filesize": "^3.6.1",
"grunt": "^1.0.2",
"grunt-contrib-uglify-es": "^3.3.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-env": "^0.4.4",
"grunt-eslint": "^19.0.0",
"grunt-open": "^0.2.4",
"grunt-postcss": "^0.8.0",
"grunt-sass": "^2.1.0",
"mathjs": "^5.4.0",
"p-queue": "^3.0.0",
"preact": "^8.2.7",
"preact-range-slider": "^0.2.0",
"preact-redux": "^2.0.1",
"redux": "^3.6.0",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.2.0",
"redux-undo": "^1.0.0-beta9-9-7",
"tslib": "^1.9.0",
"tween": "^0.9.0"

}

Ответы [ 2 ]

2 голосов
/ 18 июля 2019

1 - удаление узловых модулей

npm install rimraf -g
rimraf node_modules

2 - Обновление "babelify": "^7.3.0" до "babelify": "^9.0.0" (Babelify 7.3.0 загружает babel-core v 6.26.3)

3- Измените "babel-preset-es2015" и "babel-preset-react на

"@babel/preset-env": "^7.5.5",
"@babel/preset-react": "^7.0.0"

(если вы их используете)

4- In .babelrc изменить "presets": ["react", "es2015"] на "presets": ["@babel/preset-env", "@babel/preset-react"] (если вы их используете)

5- npm install

0 голосов
/ 05 апреля 2019

Попробуйте удалить папку node_modules, а затем повторно запустить npm install - это должно удалить все переопределения зависимостей, когда вы работали в более старой версии.

...