sudo 命令允许成功创建反应应用程序,但我的用户已经拥有管理员访问权限

Posted

技术标签:

【中文标题】sudo 命令允许成功创建反应应用程序,但我的用户已经拥有管理员访问权限【英文标题】:sudo command allows for successful create-react-app, but my user already has admin access 【发布时间】:2019-01-19 18:09:14 【问题描述】:

我对 macOS 很陌生。正如标题所说,当我在终端外使用 npm 运行 create-react-app 时,它会失败并出现以下错误:

Aborting installation.   
npm install --save --save-exact react react-dom react-scripts has failed

使用 sudo 运行此命令会导致命令成功,并创建 React 应用程序。我不明白为什么 sudo 工作?我登录的用户是管理员,所以我想我不完全理解这个问题。

【问题讨论】:

【参考方案1】:

你需要重新安装 NPM 才能在没有 sudo 的情况下使用它。

首先检查以后全局重新安装的内容:

npm list -g --depth=0

告诉 npm 将包安装到家:

npm config set prefix ~/npm

改变你的路径:

打开你的 .bashrc (Linux):

nano ~/.bashrc

Mac 版

nano ~/.bash_profile

在末尾添加这些行:

export PATH="$PATH:$HOME/npm/bin"
export NODE_PATH="$NODE_PATH:$HOME/npm/lib/node_modules"

保存文件,然后输入此命令使更改生效:

. ~/.bashrc

. ~/.bash_profile

获取 ~/.npm 目录中所有内容的所有权(必须使用 sudo 运行):

sudo chown -R $USER:`id -g -n $USER` ~/.npm

毕竟,不用 sudo 也可以全局安装。例如:

npm install -g live-server

或者,使用以下命令创建反应应用:

npm init react-app <your reactapp>

【讨论】:

以上是关于sudo 命令允许成功创建反应应用程序,但我的用户已经拥有管理员访问权限的主要内容,如果未能解决你的问题,请参考以下文章

使用 JSch 的多个命令

Sudo漏洞允许非特权Linux和macOS用户以root身份运行命令

sudo简单应用

sudo: npm:找不到命令

嗨,我该如何解决这个问题?

使用sudo命令时出现如下错误,为啥应当如何处理