无法更改 npm 全局位置
Cannot change npm global location
看起来我在 npm 上搞砸了,我不知道该怎么办。
环境:
- 亚马逊 Linux (EC2)
故事是这样的:
几个月前我用 yum 安装了 nodejs: "yum install nodejs npm --enablerepo=epel" 在我的服务器上。
然后,我知道有节点版本管理器(nvm),所以我删除了我的 node.js 并安装了 nvm,然后安装了最新的 node.js
但看起来 nvm 设置有些问题(最近才意识到)所以我用 nvm 删除了 nodejs,然后删除了 nvm。
然后我用 yum 命令重新安装了 node.js。看起来不错,nodejs 运行良好,但是 npm 有很大的麻烦。我以普通用户(ec2-user)的身份使用命令 "npm root -g" 检查了全局模块的位置,它打印出
npm ERR! Error: EACCES, mkdir '/root/.nvm/versions/node/v5.5.0'
npm ERR! { [Error: EACCES, mkdir '/root/.nvm/versions/node/v5.5.0']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/root/.nvm/versions/node/v5.5.0' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Linux 4.1.13-19.31.amzn1.x86_64
npm ERR! command "node" "/usr/bin/npm" "prefix"
npm ERR! cwd /home/ec2-user/modernator
npm ERR! node -v v0.10.42
npm ERR! npm -v 1.3.6
npm ERR! path /root/.nvm/versions/node/v5.5.0
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/root/.nvm/versions/node/v5.5.0'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/ec2-user/modernator/npm-debug.log
npm ERR! not ok code 0
所以我登录到管理员,并输入相同的命令 "npm root -g",它打印:
/usr/lib/node_modules
当我删除 nvm 时,看起来有些东西搞砸了。每次我尝试更改 npm 前缀或只是尝试以普通用户身份从 npm 获取任何配置时,总是失败并显示相同的错误消息!
但如果我尝试使用 sudo("sudo npm root -g"),它会显示“/usr/lib/node_modules”。
我花了几天时间来解决这个问题,但我仍在努力。但我什至不知道我该怎么办。从 google 中找到的所有帖子均无效。我多次删除并安装了 nodejs,但没有用。求大神,有知道怎么解决的请指教
默认情况下您无权访问根资源。
当您执行此操作时:
npm root -g
它尝试为 root 用户,我打赌你需要更改用户:
npm $USER -g
看起来我在 npm 上搞砸了,我不知道该怎么办。
环境: - 亚马逊 Linux (EC2)
故事是这样的:
几个月前我用 yum 安装了 nodejs: "yum install nodejs npm --enablerepo=epel" 在我的服务器上。
然后,我知道有节点版本管理器(nvm),所以我删除了我的 node.js 并安装了 nvm,然后安装了最新的 node.js
但看起来 nvm 设置有些问题(最近才意识到)所以我用 nvm 删除了 nodejs,然后删除了 nvm。
然后我用 yum 命令重新安装了 node.js。看起来不错,nodejs 运行良好,但是 npm 有很大的麻烦。我以普通用户(ec2-user)的身份使用命令 "npm root -g" 检查了全局模块的位置,它打印出
npm ERR! Error: EACCES, mkdir '/root/.nvm/versions/node/v5.5.0'
npm ERR! { [Error: EACCES, mkdir '/root/.nvm/versions/node/v5.5.0']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/root/.nvm/versions/node/v5.5.0' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Linux 4.1.13-19.31.amzn1.x86_64
npm ERR! command "node" "/usr/bin/npm" "prefix"
npm ERR! cwd /home/ec2-user/modernator
npm ERR! node -v v0.10.42
npm ERR! npm -v 1.3.6
npm ERR! path /root/.nvm/versions/node/v5.5.0
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/root/.nvm/versions/node/v5.5.0'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/ec2-user/modernator/npm-debug.log
npm ERR! not ok code 0
所以我登录到管理员,并输入相同的命令 "npm root -g",它打印:
/usr/lib/node_modules
当我删除 nvm 时,看起来有些东西搞砸了。每次我尝试更改 npm 前缀或只是尝试以普通用户身份从 npm 获取任何配置时,总是失败并显示相同的错误消息!
但如果我尝试使用 sudo("sudo npm root -g"),它会显示“/usr/lib/node_modules”。
我花了几天时间来解决这个问题,但我仍在努力。但我什至不知道我该怎么办。从 google 中找到的所有帖子均无效。我多次删除并安装了 nodejs,但没有用。求大神,有知道怎么解决的请指教
默认情况下您无权访问根资源。 当您执行此操作时:
npm root -g
它尝试为 root 用户,我打赌你需要更改用户:
npm $USER -g