linux上安装express报错

clipboard.png

  1. npm install express-generator 先安装的这个
  2. npm install express --save

npm init时都是默认
加上sudo提示npm 命令找不到,加上全局也不行

全局的错误:安装express-generator 和express时都是这个错误
clipboard.png

阅读 2.8k
3 个回答

全局安装是 npm install express-generator -g
npm install express -g
你没有全局安装 所以 查看不了express的版本

提示很明显啊, express 这个可执行文件找不到嘛,看下你安装的 express 包,一般会有一个 bin 目录,把它加到系统变量的 PATH 中。(也可能在你安装的 node 的那个 bin 目录里)

加上 sudo 提示 npm 命令找不到

一个变通的方法,是 sudo 后面用完整的执行路径,记得是 sudo path-to-node/bin/npm 什么的。不过在我的机子上,会提示 /usr/bin/env 找不到,所以继续变一下,就是 sudo path-to-node/bin/node path-to-node/bin/npm

虽然看到问题已经解决了,但是还是决定临插一脚。
如果是通过命令安装或者是deb包什么的安装的,安装如express,vue-cli,create-my-app什么的直接-g全局就行了,如果没记错的话,安装的文件会在/user/local/lib/node_modules还是哪来着保存,然后使用的时候全局就可以取到。
如果是在官网下载的tar.xz压缩包,可以直接解压到你想解压到的位置,然后两个方式,一是把-g装完的这些插件什么的在/usr/local/bin 软链,不过这样的话每次安装都得链一下,所以我用的方式是直接在/etc/profile最后加上一句export PATH=/software/Node/bin:$PATH,保存退出,正常用户和root都执行下source /etc/profile刷新下,然后在安装的全局插件就都能直接用了。
前一段时间刚折腾完,凭着印象说的可能有不对的地方,咩啊~
就是喜欢穷折腾,哈哈
图片描述

啊对了,看了下上边两个答案都没说安装报错的原因,斗胆说了啊~这么长时间估计你也看出来了,报错说的很明确哒,在/user/local/lib/node_modules下没有写入权限的,sudo su之后在安装就OK了。

推荐问题