不论是进行git commit还是进行lint-stage,都会遭遇到Unexpected Identifier的错误提示

简单地得出结论

Node.js的版本太旧,导致eslint感到不满。

当我使用下面的命令更新了Node.js后,问题就解决了!

sudo apt update && sudo apt install nodejs -y && sudo npm install n -g && sudo n stable && sudo apt purge -y nodejs npm && sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y

经过

    1. 由于在开发过程中更换了电脑,因此需要克隆已完成初始设置的Git仓库,其中包括eslint、prettier、simple-git-hooks和lint-staged等。

因此,立即运行以下命令以完成准备工作:
git clone https://github.com/foooooooo/hogehoge.git
cd hogehoge
npm ci && npx simple-git-hooks

命令的简要说明:
npm ci
使用版本约束较宽松的package.json进行包安装,不使用npm i或npm install命令,而是使用package-lock.json文件中详细指定的包版本进行安装。

npx simple-git-hooks
如果在package.json中设置了simple-git-hooks的配置,则会创建/.git/hooks/目录,并依照配置进行相应的操作。

npx lint-staged(稍后命令将会出现)
如果在package.json中设置了lint-staged的配置,则将根据配置,在提交之前对暂存文件(即已添加到暂存区的文件)执行相应的命令。通常会执行eslint、prettier等linter和formatter。

npx eslint .(稍后命令将会出现)
对当前目录执行eslint。

初始设置已完成,但还是要确认simple-git-hooks和lint-staged的配置是否正确!
npx lint-staged
# => 报错:Unexpected Identifer

为什么会这样?
这是lint-staged出了问题吗?
git commit -m “commit test”
# => 报错:Unexpected Identifer

我不明白原因。
首先,错误信息只是”Unexpected Identifer”,太缺乏信息量了。
详细查询与simple-git-hooks、lint-staged、eslint等相关的关键词,也没有找到详细的解答信息。我该怎么办呢?

总结

eslint在生气。

npx eslint .
# =>typeerror: module.createrequire is not a function...というエラーが出る

根据我的调查,截至2022年9月18日最新版本的eslint(8.23.1)支持的nodejs版本是^12.22.0、^14.17.0或者>=16.0.0。

以eslint存储库作为参考资料

image.png

 

一方,在2022年9月18日,通过apt安装的node.js版本为10.19。

完全不受支持!!!!!!

肯定会被骂的!!!!

请使用以下命令更新Node.js至最新版本,仅供参考。

sudo apt update && sudo apt install nodejs -y && sudo npm install n -g && sudo n stable && sudo apt purge -y nodejs npm && sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y

事情已变得很顺利!

参考资料
文献参考
资料来源

 

广告
将在 10 秒后关闭
bannerAds