Node.js npm如何升级自身?;

Node.js npm如何升级自身?;,node.js,npm,operating-system,npm-install,Node.js,Npm,Operating System,Npm Install,为什么npm可以通过npm安装npm-g来升级自身,以及如何实现 我还有一个名为chore的命令行界面工具,我想在运行chore-upgrade时升级它 const{spawn}=require('child_process') const selfUpgrade=()=>新承诺((解决、拒绝)=>{ const proc=spawn('npm',['install','chore','-g'])) 让错误=“” 进程stderr.on('data',data=>error+=data) 过程一

为什么npm可以通过npm安装npm-g来升级自身,以及如何实现

我还有一个名为chore的命令行界面工具,我想在运行
chore-upgrade
时升级它

const{spawn}=require('child_process')
const selfUpgrade=()=>新承诺((解决、拒绝)=>{
const proc=spawn('npm',['install','chore','-g']))
让错误=“”
进程stderr.on('data',data=>error+=data)
过程一次('退出',代码=>{
如果(代码===0)解析()
拒绝(错误| |代码)
})
过程标准管道(过程标准管道)
过程标准管道(过程标准)
})
我通过节点子进程在升级脚本中运行
npmi-g chore
。但我得到了一个“不允许的手术”


如何执行此操作?

看起来启动节点服务的用户没有运行
npm install-g
命令的权限。如果机器是Linux,请尝试
sudonpm安装-g chore
如果启动节点服务的用户在sudoers组中。