【问题标题】:Install ReactJS on Ubuntu 18.04 -- npm permission denied在 Ubuntu 18.04 上安装 ReactJS -- npm 权限被拒绝
【发布时间】:2019-11-16 22:10:09
【问题描述】:

我是 Linux 新手,我正在尝试使用 nodejs 进行设置,但我无法弄清楚为什么我无法安装 react。我正在按照我在网上看到的指示进行操作,但我想知道为什么我似乎没有安装 react 所需的权限。这是一个个人环境,所以我没想到会有任何问题。以下是我运行的内容以及最后一行给我的最终错误。

sudo apt update && sudo apt upgrade
sudo apt install nodejs
sudo npm install npm

node -v
v8.10.0

npm -v
3.5.2

sudo npm install npm@latest -g
npm -v
6.10.0

npm install -g create-react-app

上面的一切都运行良好,直到最后一个命令。然后无论工作目录如何,我都会收到以下错误。

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/me/.npm/_logs/2019-07-06T19_33_32_971Z-debug.log

【问题讨论】:

  • 在最后一行使用sudo。说真的。

标签: node.js linux reactjs ubuntu npm


【解决方案1】:

使用npx(使用 npm 5.2+)

如果您使用的是 npm 5.2+,您可以创建一个如下所示的 ReactJS 应用:

npx create-react-app my-app

现在您的应用位于my-app 文件夹中,您可以将cd 放入该文件夹并运行npm start

使用旧版本的 npm 和 npm install

您也可以通过 npm 全局安装来安装它,事实上对于较旧的 npm 版本 (the official documentation for create-react-app 链接到 instructions by Dan Abramov(@co-author of create-react-app):

npm install -g create-react-app

但是,您可能需要 sudo 来安装全局 -g 或解决它

上面的一切都运行良好,直到最后一个命令。然后无论工作目录如何,我都会收到以下错误。

那是因为您的最后一个命令是全局安装 (-g)。

除非有反对理由,否则您可以使用sudo 安装它:

sudo npm install -g create-react-app

不使用sudo安装,请参考这个问题:npm throws error without sudo

【讨论】:

  • 我被告知安装 node / npm / react 与 sudo 是不合适的,因为这会产生权限问题。这是真的?应该如何解决这个问题?
  • @jhan 由于您使用的是npm 6.10,请尝试答案顶部的npx 方式作为替代方案。
  • @jhan 我看到了你的另一个问题,问题不是用sudo npm install -g create-react-app 安装。问题是因为您使用sudosudo create-react-app my_project 创建了应用程序,您不必这样做,您可以使用当前用户安装它而不使用sudo 所以create-react-app my_project
【解决方案2】:

我也遇到了这个问题,怎么解决的

确保您已安装或使用 npm:

sudo apt install npm

然后

sudo npm -g install create-react-app

要创建应用程序,我没有在命令行前使用“npm”,而是使用这个:

create-react-app nameofyourapp

这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-28
    • 2019-10-18
    • 1970-01-01
    • 2019-10-18
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多