已关闭
[共创大赛][Bug] Windows更新5.0.9之后: 'atomcode' 不是内部或外部命令 #1515
Enlin创建于  8月31日关闭于  9月2日
Enlin
Enlin
8月31日 创建

问题描述

从 5.0.8 版本手动更新npm包到 5.0.9 之后,无法正常使用 atomcode 命令启动atomcode TUI,报错:

C:\Users\pc>atomcode
'atomcode' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

查看全局安装包是有的:

C:\Users\pc>npm -g list
D:\Program Files\nvm\node_global
+-- @atomgit.com/atomcode@5.0.9-win32-x64

环境是正常的:

C:\Users\pc>npm root -g
D:\Program Files\nvm\node_global\node_modules

C:\Users\pc>where opencode
D:\Program Files\nvm\node_global\opencode
D:\Program Files\nvm\node_global\opencode.cmd

C:\Users\pc>where atomcode
信息: 用提供的模式无法找到文件。

npm全局安装包中没有 atomcode / atomcode.* 相关文件了,但是 \node_modules\@atomgit.com\atomcode\bin\ 下是有一个 atomcode.exe 的。

复现步骤

第一种

  1. 电脑本机有 @atomgit.com/atomcode@5.0.8 版本
  2. 执行命令 npm -g outdated 可以看到有更新
  3. 执行命令 npm -g update @atomgit.com/atomcode 更新版本,此时版本由 5.0.8 变成了 5.0.9-win32-x64
  4. 执行命令 atomcode,报错找不到命令

第二种

  1. 在没有使用npm安装过atomcode或者已经使用npm卸载了atomcode的环境下,执行 npm -g install @atomgit.com/atomcode 重新安装
  2. 执行命令 npm -g list 确认安装成功
  3. 执行命令 atomcode,报错找不到命令

预期行为

  1. 手动更新 5.0.9 版本或重新安装最新版之后可以正常使用 atomcode 命令。
  2. 旧版本atomcode不要在执行 atomcode 命令之后进行自动更新。这种行为挺流氓的,而且 npm -g list 查看版本也不变...

操作系统

Windows

AtomCode 版本

5.0.9

Provider

其他

日志 / 截图

atomcode-error.jpg

likedislike
atomgit-botatomgit-bot成员
8月31日 添加了label:bug
atomgit-bot
atomgit-bot成员
8月31日 评论:

你好,谢谢反馈。我们已收到这条 Issue,会由维护者继续处理。代码相关结论需要读仓库核实后再说;若方便可补充版本号与最小复现。

likedislike
atomgit-botatomgit-bot成员
8月31日 将 duxin 设为负责人
Ли звезда
Ли звезда
9月1日 评论:

感谢反馈,这个问题我们已经定位并修复了 👍

根因:发布脚本把平台包发布成了和主包同名,而且忘了带 bin 字段。npm 只给带 bin 的顶层包生成 atomcode 命令入口,所以升级后命令就丢了(包其实装上了,只是没人生成启动入口)。

修复:平台包改成独立包名发布并补上 bin 字段,已按你的复现步骤验证通过。

你需要做的:急用的话先执行 npm install -g @atomgit.com/atomcode@5.0.9 装回主包版即可恢复;修复已合入,升级新版本后就不用管了。升级后仍能复现的话,回帖告诉我们版本号,我们再跟进。

另外你说的旧版自动更新问题我们也记下了,会一并排查 🙏

再次感谢 🙏

likedislike
Ли звездаЛи звезда
9月1日 添加了label:fixed
Enlin
Enlin
9月2日 评论:

经测试使用 npm 安装 5.0.9 版本已经可以正常使用。感谢社区的小伙伴回复并修复!

Tip

另外给同样问题的小伙伴提示一下,阿里云源(淘宝源)暂时没有5.0.9版本,要换 华为云源 。命令 npm config set registry "https://mirrors.huaweicloud.com/repository/npm/"

likedislike
EnlinEnlin
9月2日 关闭了 issue