Node.js 无法安装Grunt命令行界面

Node.js 无法安装Grunt命令行界面,node.js,gruntjs,Node.js,Gruntjs,我目前在安装grunt命令行界面时遇到了问题,当我尝试使用教程网站上的说明安装grunt命令行界面时,日志中出现了很多错误。我刚刚从他们的网站上下载了一个包,添加了node.js。如果有任何帮助,我们将不胜感激 我使用了下面的命令,详细说明见根WordPress说明页面 npm install -g grunt-cli 并且返回了此错误消息 npm ERR! Error: Attempt to unlock grunt-cli, which hasn't been locked npm ERR

我目前在安装grunt命令行界面时遇到了问题,当我尝试使用教程网站上的说明安装grunt命令行界面时,日志中出现了很多错误。我刚刚从他们的网站上下载了一个包,添加了node.js。如果有任何帮助,我们将不胜感激

我使用了下面的命令,详细说明见根WordPress说明页面

npm install -g grunt-cli
并且返回了此错误消息

npm ERR! Error: Attempt to unlock grunt-cli, which hasn't been locked
npm ERR! at unlock (/usr/local/lib/node_modules/npm/lib/utils/locker.js:44:11)
npm ERR! at cb (/usr/local/lib/node_modules/npm/lib/cache/add-local.js:30:5)
npm ERR! at /usr/local/lib/node_modules/npm/lib/cache/add-local.js:47:20
npm ERR! at /usr/local/lib/node_modules/npm/lib/utils/locker.js:30:7
npm ERR! at /usr/local/lib/node_modules/npm/node_modules/lockfile/lockfile.js:167:38
npm ERR! at OpenReq.Req.done (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:144:5)
npm ERR! at OpenReq.done (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:64:22)
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR! http://github.com/npm/npm/issues

npm ERR! System Darwin 13.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "grunt-cli"
npm ERR! cwd /Users/jonbeech
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.14
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/jonbeech/npm-debug.log
npm ERR! not ok code 0
➜ ~

运行
sudo npm install-g grunt cli
全局安装某些内容时需要sudo权限,或者删除
-g
开关。

尝试避免在npm中使用sudo,可能会出现其他权限错误。以下是我在使用sudo安装npm后所做的:

卸载NPM:
sudo NPM卸载NPM-g

安装NVM,这样我就可以安装npm而不需要sudo(类似于RVM),请参阅:

安装最新的npm:
nvm安装稳定

清除缓存
npm缓存清除


然后一切正常

尝试清除nmp缓存,npm缓存清除,并确保您有安装权限?谢谢,在这种情况下,我在哪里更改权限?使用sudo运行该命令,因为当您传递-g开关时,这意味着您正在全局安装,因此您需要拥有超级用户权限。。因此,我认为用sudo运行命令应该可以从我的谷歌搜索中找到答案。我不知道为什么一些系统需要sudo或root访问,而其他系统不需要,例如,我的笔记本电脑不需要sudo来运行这些命令,而我的台式机需要?这似乎很武断。