Parcel SemVer bug



所以,我以前多次使用过包裹,我从来没有遇到过问题。这一次,它抛出了一些关于SemVer版本控制的愚蠢错误,我真的失去了我的思想,试图找到一个解决这个问题的解决方案。

我已经开始了一个新的项目:安装npm w/npm init(没有额外的选项),然后安装包npm install --save-dev parcel-bundler,然后创建我的文件夹结构:

——node_modules
- index . html
- index.js

这是我的package.json:

{
"name": "playground",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "parcel index.html"
},
"author": "",
"license": "ISC",
"devDependencies": {
"parcel-bundler": "^1.12.4"
}
}

我已经配置了默认的npm脚本来运行包裹:"dev": "parcel index.html"并运行它。一切工作正常,然而,当我连接我的index.js在index.html通过<script src="/index.js"></script>它抛出大错误,说:

D:workingSpaceplaygroundindex.js: Invalid Version: undefined
at new SemVer (D:workingSpaceplaygroundnode_modules@babelpreset-envnode_modulessemversemver.js:314:11)
at compare (D:workingSpaceplaygroundnode_modules@babelpreset-envnode_modulessemversemver.js:647:10)   
at lt (D:workingSpaceplaygroundnode_modules@babelpreset-envnode_modulessemversemver.js:688:10)        
at D:workingSpaceplaygroundnode_modules@babelpreset-envlibindex.js:276:22
at Object.default (D:workingSpaceplaygroundnode_modules@babelhelper-plugin-utilslibindex.js:22:12)     
at getEnvPlugins (D:workingSpaceplaygroundnode_modulesparcel-bundlersrctransformsbabelenv.js:62:34)   
at getEnvConfig (D:workingSpaceplaygroundnode_modulesparcel-bundlersrctransformsbabelenv.js:12:25)    
at async getBabelConfig (D:workingSpaceplaygroundnode_modulesparcel-bundlersrctransformsbabelconfig.js:32:19)
at async babelTransform (D:workingSpaceplaygroundnode_modulesparcel-bundlersrctransformsbabeltransform.js:6:16)
at async JSAsset.pretransform (D:workingSpaceplaygroundnode_modulesparcel-bundlersrcassetsJSAsset.js:83:5)

目前我使用的是Node v14.6.0,因此它是npm版本- 6.14.11

我从来没有遇到过这个bug,请帮助T_T

这是最新版本的Parcel中已知的问题。

这个问题的解决方案是恢复到1.12.3版本,或者通过更新到Parcel的版本2。您可以执行第一个解决方案:

npm uninstall parcel-bundler
npm i --save-dev parcel-bundler@1.12.3

第二个解决方案可以这样做:

npm i --save-dev parcel@next

如果您决定使用夜间版本的Parcel,您可能需要稍微重构代码以防止破坏性的更改。查看更多关于如何迁移到Parcel v2/nightly的信息。

在这里赶上那个问题。


更新#1:28/05/2021

截至撰写本文时(28/05/2021),Parcel团队似乎一直在进行修复。虽然我没有亲自检查更新是否正常工作,但这个答案仍然是一个非常可行和可行的解决方案。

我最近经历了这个问题,即使在尝试了GitHub #5943上发布的非常合乎逻辑的工作后,parcel@1.12.4仍然抛出Invalid Version: undefined

安装parcelV2在我的情况下工作。如果其他人也面临类似的问题,我建议尝试以下步骤:

  1. npm uninstall -D parcel-bundler
  2. npm install -D parcel@next
  3. npx parcel serve index.html

最新更新