如何解决使用gatsby-codemods迁移Gatsby图片组件时的env: node 报错
解决方案
你之前只修改了gatsby-codemods的index.js文件,没有处理报错链路中涉及的其他执行脚本,因此问题没有解决。按以下步骤操作即可修复:
批量修复所有依赖脚本的换行符
优先使用dos2unix工具批量处理,无需手动逐个修改:# 修复jscodeshift所有执行脚本的换行符 npx dos2unix node_modules/jscodeshift/bin/*.js # 修复gatsby-codemods所有js脚本的换行符 npx dos2unix node_modules/gatsby-codemods/**/*.js如果你不想安装
dos2unix,可以手动修改以下三个文件的换行格式为UNIX:node_modules/jscodeshift/bin/jscodeshift.jsnode_modules/gatsby-codemods/bin/cli.jsnode_modules/gatsby-codemods/bin/gatsby-codemods.js
每个文件的修改方式和你之前的操作一致:用vi打开后执行:set ff=unix,再:x保存即可。
验证基础依赖可用
执行以下命令确认jscodeshift可以正常运行,正常会输出版本号:node node_modules/jscodeshift/bin/jscodeshift.js --version重新执行迁移命令
yarn gatsby-codemods gatsby-plugin-image
如果以上操作后仍然报错,可以直接用node调用执行脚本跳过包管理器的调用链路:
node node_modules/gatsby-codemods/bin/gatsby-codemods.js gatsby-plugin-image
内容的提问来源于stack exchange,提问作者rockon_d
相关产品推荐
相关产品推荐

