所以,我使用 Nvm 在节点 8 和节点 14 之间切换,这让我很痛苦。
每当我在版本之间切换时,我的一些全局工具/模块都会出现不兼容和问题。例如。当我在节点 8 中处理遗留项目时,一切都很好。
如果我切换到节点 14,并从那里安装一些工具...然后切换回来... 我收到各种错误,例如
λ rimraf
C:\Users\bak\AppData\Roaming\npm\node_modules\rimraf\dist\esm\bin.mjs:2
import { readFile } from 'fs/promises';
^^^^^^
SyntaxError: Unexpected token import
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:617:28)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3
我需要卸载并重新安装 rimraf 才能使其再次工作(使用旧版本):
npm uninstall -g rimraf
npm install -g [email protected]
然后..当切换回14时..再次相同。
所以问题:
我正在考虑编写一个脚本来移动我的“AppData\Roaming” 下午 当我切换版本时 ode_modules' 文件夹。基本上,换入,换出。
这个效果好吗?
从评论中,我开始怀疑我最初的nodejs安装可能留下了残留设置。
λ npm config list
; builtin config undefined
prefix = "C:\\Users\\bak\\AppData\\Roaming\\npm"
事实上,运行配置列表显示前缀被设置为Appdata漫游文件夹。