解决 mac os 上 npm 不能全局安装 express 脚手架的问题

今天想用 express 脚手架,这样开发速度会快很多,因此需要全局安装:

npm install -g express-generator

报错; 

使用 sudo ,同样报错;

sudo npm install -g express-generator

 

解决 mac os 上 npm 不能全局安装 express 脚手架的问题

 

 

 解决过程:

1. 尝试更新 npm 

sudo npm i -g npm

再次安装,报错; 

 

这个报错有个明显的提示:

npm ERR! Error: EACCES: permission denied, access ‘/usr/local/lib/node_modules/express-generator‘

说明访问 /usr/local/lib/node_modules/express-generator 的权限被拒绝。

npm 官方文档中有这样的解决办法:https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

 

官方文档中提了两个解决问题的办法:

  • 重新安装 npm 与 node.js
  • 手动更改 npm 的默认目录

 

重新安装是避免权限问题的最佳办法,但是重新安装前要先删除当前电脑中的 npm 与 node.js,这个比较简单,就不说了。

 

这里尝试使用 Stack Overflow 的更改权限方法,推荐做法:

  • 首先先检查 
    /usr/local/lib/node_modules 的权限
ls -la /usr/local/lib/node_modules

解决 mac os 上 npm 不能全局安装 express 脚手架的问题

 

 可以看到 npm / express-generator 是由 root 来控制。

  • 需要使用命令来将 root 更改为当前用户
//先查看当前用户
id -un

返回为 apple

解决 mac os 上 npm 不能全局安装 express 脚手架的问题

 

 

  • 更改权限
//更改权限,将user添加到权限列表中去
sudo chown -R $USER /usr/local/lib/node_modules
  • 更次执行全局安装命令
//全局安装 express 脚手架
npm install -g express-generator

提示已经安装成功了。

解决 mac os 上 npm 不能全局安装 express 脚手架的问题

 

 

安装成功后 使用 命令可以查看帮助:express -h

解决 mac os 上 npm 不能全局安装 express 脚手架的问题

 

 

使用脚手架命令快速建立 express 项目:

//命令后面填写 express 项目目录名称 express-demo
express -e express-demo

然后跟随提示,运行 express 项目:

解决 mac os 上 npm 不能全局安装 express 脚手架的问题

 

 浏览器运行:http://localhost:5000/

解决 mac os 上 npm 不能全局安装 express 脚手架的问题

 

解决 mac os 上 npm 不能全局安装 express 脚手架的问题

上一篇:Ubuntu安装桌面环境


下一篇:Linux的文件特殊权限