安装nodemon后执行版本查询出现SyntaxError问题求助
nodemon安装后无法运行的解决方法
问题重现
安装nodemon后执行版本查询命令报错:
abhishek@Abhisheks-MacBook-Air ~ % nodemon -v /Users/abhishek/.nvm/versions/node/v8.2.1/lib/node_modules/nodemon/node_modules/chokidar/index.js:941 const options = {type: EV_ALL, alwaysStat: true, lstat: true, ...opts}; ^^^ SyntaxError: Unexpected token ... at createScript (vm.js:74:10) at Object.runInThisContext (vm.js:116:10) at Module._compile (module.js:533:28) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) at Module.require (module.js:513:17) at require (internal/module.js:11:18) at Object.<anonymous> (/Users/abhishek/.nvm/versions/node/v8.2.1/lib/node_modules/nodemon/lib/monitor/watch.js:6:16)
当前环境版本:
abhishek@Abhisheks-MacBook-Air ~ % node -v v8.2.1 abhishek@Abhisheks-MacBook-Air ~ % npm -v 5.3.0
安装过程:
abhishek@Abhisheks-MacBook-Air ~ % sudo npm i -g nodemon Password: /Users/abhishek/.nvm/versions/node/v8.2.1/bin/nodemon -> /Users/abhishek/.nvm/versions/node/v8.2.1/lib/node_modules/nodemon/bin/nodemon.js + nodemon@2.0.20 updated 1 package in 1.996s
问题原因
Node.js v8.2.1不支持对象扩展运算符...(该特性在Node.js v8.3.0及以上版本才正式支持),而你安装的nodemon@2.0.20依赖的chokidar库使用了这个语法,导致运行时抛出语法错误。
解决方法
方法1:升级Node.js版本(推荐)
你使用了nvm管理Node.js,直接安装并切换到长期支持版(LTS):
- 安装LTS版本:
nvm install --lts
- 切换到刚安装的LTS版本:
nvm use --lts
- 验证版本:
node -v npm -v
- 重新全局安装nodemon(无需sudo,nvm管理的Node.js不需要管理员权限):
npm i -g nodemon
方法2:安装兼容Node.js v8的旧版nodemon
如果暂时不想升级Node.js,可以安装对v8版本友好的旧版nodemon:
- 卸载当前版本:
npm uninstall -g nodemon
- 安装指定兼容版本(比如1.19.4,该版本支持Node.js v8):
npm i -g nodemon@1.19.4
- 验证安装:
nodemon -v
内容的提问来源于stack exchange,提问作者abhishekrn
相关产品推荐
相关产品推荐

