为了账号安全,请及时绑定邮箱和手机立即绑定

没有sudo,NPM模块不会全局安装

没有sudo,NPM模块不会全局安装

倚天杖 2019-09-18 19:53:08
我刚刚重新安装了Ubuntu 12.04 LTS,之前我做了以下其他步骤:通过包管理器使用以下脚本安装节点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的发电机,所有这些都返回了相同的错误错误的ERR!错误:EACCES,符号链接'../lib/node_modules/n/bin/n'错误的ERR!{[错误:EACCES,符号链接'../lib/node_modules/n/bin/n']错误号:3,代码:'EACCES',路径:'../lib/node_modules/n/bin/n'}错误的ERR!错误的ERR!请尝试以root / Administrator身份再次运行此命令。错误的ERR!系统Linux 3.8.0-29-通用错误的ERR!命令“/ usr / bin / node”“/ usr / bin / npm”“install”“ - g”“ - d”“n”错误的ERR!cwd / home / heberlz错误的ERR!node -v v0.10.20错误的ERR!npm -v 1.3.11错误的ERR!路径../lib/node_modules/n/bin/n错误的ERR!代码EACCES错误的ERR!错误3错误的ERR!堆栈错误:EACCES,符号链接'../lib/node_modules/n/bin/n'错误的ERR!错误的ERR!其他记录详细信息可在以下位置找到错误的ERR!/home/heberlz/npm-debug.log错误的ERR!不好的代码0以递归方式回收以下文件夹的所有权〜/ .npm,/ usr / lib / node,/ usr / lib / node_modules以及以下符号链接/ usr / bin / node,/ usr / bin / nodejs 绝对没有成功我需要安装yeoman及其发电机,没有sudo以后不会遇到麻烦:(
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

如果您已经$HOME/bin走上了自己的道路,那么更简单的解决方案就是......

npm config set prefix ~
  • 现在,新节点命令将安装到您的$HOME/bin目录中。

  • 无需改变你的道路!

由于此讨论实际上是关于降低运行的安全风险sudo,因此您还应该知道任何节点应用程序都可能安装的应用程序名称与您认为正在安装的已注册节点程序包名称不匹配。因此存在安全风险,npm install即将替换现有系统命令或已有的系统命令$HOME/bin。如果您担心,请先检查您要安装的应用程序文件中的binscripts属性package.json

一般而言,最安全的是:

  • (a)将$HOME/bin最后一个放在路径中,这样系统命令就不会被取代。

  • (b)不包括“。” 或者你的任何相对路径,$PATH所以你不会意外地运行恰好在当前目录中的命令。


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 577 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信