如果没有sudo,NPM模块将无法全局安装 [英] NPM modules won't install globally without sudo
问题描述
我刚刚重新安装了Ubuntu 12.04 LTS,在执行这些步骤之前,我没有做任何其他事情:
-
使用以下脚本通过软件包管理器安装节点
Installed Node via package manager with the following script
sudo apt-get update
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
试图在全球安装yeoman,express,n,yeoman的生成器,并且它们都返回了相同的错误
Tried to install yeoman, express, n, yeoman's generators globally and all of them returned the same error
npm ERR!错误:EACCES,符号链接'../lib/node_modules/n/bin/n'
npm ERR! Error: EACCES, symlink '../lib/node_modules/n/bin/n'
npm ERR! {[错误:EACCES,符号链接'../lib/node_modules/n/bin/n'] errno:3,代码:'EACCES',路径:'../lib/node_modules/n/bin/n'}
npm ERR! { [Error: EACCES, symlink '../lib/node_modules/n/bin/n'] errno: 3, code: 'EACCES', path: '../lib/node_modules/n/bin/n' }
npm ERR!
npm ERR!请尝试以root/管理员身份再次运行此命令.
npm ERR! Please try running this command again as root/Administrator.
npm ERR!系统Linux 3.8.0-29-通用
npm ERR! System Linux 3.8.0-29-generic
npm ERR!命令"/usr/bin/node""/usr/bin/npm"安装""-g""-d""n"
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "-d" "n"
npm ERR! cwd/home/heberlz
npm ERR! cwd /home/heberlz
npm ERR!节点-v v0.10.20
npm ERR! node -v v0.10.20
npm ERR! npm -v 1.3.11
npm ERR! npm -v 1.3.11
npm ERR!路径../lib/node_modules/n/bin/n
npm ERR! path ../lib/node_modules/n/bin/n
npm ERR!代码EACCES
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! errno 3
npm ERR!堆栈错误:EACCES,符号链接"../lib/node_modules/n/bin/n"
npm ERR! stack Error: EACCES, symlink '../lib/node_modules/n/bin/n'
npm ERR!
npm ERR!可以在以下位置找到其他日志记录详细信息:
npm ERR! Additional logging details can be found in:
npm ERR! /home/heberlz/npm-debug.log
npm ERR! /home/heberlz/npm-debug.log
npm ERR!错误代码0
npm ERR! not ok code 0
递归回收以下文件夹的所有权〜/.npm,/usr/lib/node,/usr/lib/node_modules和以下符号链接/usr/bin/node ,/usr/bin/nodejs 绝对没有成功
Reclaimed ownership of the following folders recursively ~/.npm, /usr/lib/node, /usr/lib/node_modules, and of the following symlinks /usr/bin/node, /usr/bin/nodejs with absolutely no success
我需要在没有sudo的情况下安装yeoman及其生成器,以免以后出现麻烦:(
I need to install yeoman and its generators without sudo not to be in trouble later on :(
推荐答案
Ubuntu 12.04并使用Chris Lea的PPA为我安装以下作品:
Ubuntu 12.04 and using Chris Lea's PPA for install the following works for me:
npm config set prefix '~/.npm-packages'
并将$ HOME/.npm-packages/bin添加到$ PATH
and adding $HOME/.npm-packages/bin to $PATH
附加到.bashrc
export PATH="$PATH:$HOME/.npm-packages/bin"
请参见@passy中的 https://stackoverflow.com/a/18277225
see https://stackoverflow.com/a/18277225 from @passy
这篇关于如果没有sudo,NPM模块将无法全局安装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!