资讯专栏INFORMATION COLUMN

【解决问题】npm全局安装后仍然提示找不到命令

zhonghanwen / 1359人阅读

摘要:惨案我正常使用命令安装。侦查先看看全局有哪些变量然后就出现了很多这个时候我们发现太多了,但是不要慌,刚才安装的时候,有一个提示显示了的全局脚本挂在哪个下。本文转载需要经过作者同意,否则禁止任何转载。

惨案

我正常使用命令安装express。

$ npm install -g express-generator

然后bash就提示安装成功

/Users/majialun/.npm-global/bin/express -> /Users/majialun/.npm-global/lib/node_modules/express-generator/bin/express-cli.js
+ express-generator@4.16.1
updated 1 package in 2.123s

然后运行 express,按道理这个时候应该让我创建项目了,但是系统提示:

bash: express: command not found

其实不光是express,我自己写的脚本,也出现这个问题,全局安装成功,但是,通过bash就是调用不出来。

侦查

先看看全局有哪些path变量

$ echo $PATH

然后就出现了很多

/Users/majialun/.rvm/gems/ruby-2.4.1/bin:/Users/majialun/.rvm/gems/ruby-2.4.1@global/bin:/Users/majialun/.rvm/rubies/ruby-2.4.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/majialun/.rvm/gems/ruby-2.4.1/bin:/Users/majialun/.rvm/gems/ruby-2.4.1@global/bin:/Users/majialun/.rvm/rubies/ruby-2.4.1/bin:/Users/majialun/.rvm/bin:/Users/majialun/Documents/flutter/flutter/bin:/Users/majialun/.npm-global/bin/express:/Users/majialun/.rvm/bin:/Users/majialun/Documents/flutter/flutter/bin:/Users/majialun/.rvm/gems/ruby-2.4.1/bin:/Users/majialun/.rvm/gems/ruby-2.4.1@global/bin:/Users/majialun/.rvm/rubies/ruby-2.4.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/majialun/.rvm/gems/ruby-2.4.1/bin:/Users/majialun/.rvm/gems/ruby-2.4.1@global/bin:/Users/majialun/.rvm/rubies/ruby-2.4.1/bin:/Users/majialun/.rvm/bin:/Users/majialun/Documents/flutter/flutter/bin:/Users/majialun/.npm-global/bin/express:/Users/majialun/.rvm/bin:/Users/majialun/.npm-global/bin:/Users/majialun/.rvm/gems/ruby-2.4.1/bin:/Users/majialun/.rvm/gems/ruby-2.4.1@global/bin:/Users/majialun/.rvm/rubies/ruby-2.4.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/majialun/.rvm/gems/ruby-2.4.1/bin:/Users/majialun/.rvm/gems/ruby-2.4.1@global/bin:/Users/majialun/.rvm/rubies/ruby-2.4.1/bin:/Users/majialun/.rvm/bin:/Users/majialun/Documents/flutter/flutter/bin:/Users/majialun/.npm-global/bin/express:/Users/majialun/.rvm/bin:/Users/majialun/Documents/flutter/flutter/bin:/Users/majialun/.rvm/gems/ruby-2.4.1/bin:/Users/majialun/.rvm/gems/ruby-2.4.1@global/bin:/Users/majialun/.rvm/rubies/ruby-2.4.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/majialun/.rvm/gems/ruby-2.4.1/bin:/Users/majialun/.rvm/gems/ruby-2.4.1@global/bin:/Users/majialun/.rvm/rubies/ruby-2.4.1/bin:/Users/majialun/.rvm/bin:/Users/majialun/Documents/flutter/flutter/bin

这个时候我们发现太多了,但是不要慌,刚才安装Express的时候,有一个提示显示了npm的全局脚本挂在哪个path下。

再看看安装成功的提示:

/Users/majialun/.npm-global/bin/express -> /Users/majialun/.npm-global/lib/node_modules/express-generator/bin/express-cli.js
+ express-generator@4.16.1
updated 1 package in 2.123s

我们可以看到,脚本安装在/Users/majialun/.npm-global/bin,这个目录里就是全部的全局脚本,注意是bin目录,express只是这个目录下的一个而已。

然后我们仔细在全局的path里找,发现并不存在这个路径……我也不知道我是怎么把路径搞没的,我在公司的Macbook Pro一切正常,但是随身带的Macbook就缺失路径。

破案

我们直接去根目录(/Users/majialun/)下,显示隐藏文件后,看看有没有.bash_profile,没有就新建一个,有就直接修改,添加进去一个路径:

export PATH=$PATH:/Users/majialun/.npm-global/bin:$PATH

注意这个路径是从上面复制下来的,每个人的不一样,总之从安装成功的提示里,复制到/bin这里结束就可以了。
好了之后,在终端里打source,然后把.bash_profile 拖进来,就有了:

$ source /Users/majialun/.bash_profile 

执行一下然后重启终端,跑起来试试看:

majialun$ express

  warning: the default view engine will not be jade in future releases
  warning: use `--view=jade" or `--help" for additional options

destination is not empty, continue? [y/N] 

没有not found 的报错,问题解决。

本文转载需要经过作者同意,否则禁止任何转载。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/109559.html

相关文章

  • Mac OS X下安装Vue脚手架(vue-cli)

    摘要:下面来就来讲讲脚手架的安装吧。如何安装安装只需要在终端下输入下面一条命令自带不需要安装安装完成后使用即可。原因是的问题,要求版本是。想用安装,就必须用安装一下。 前言 Vue作为前端三大框架(Angular,React,Vue)之一,号称是最简单,最容易上手的框架,同时也是行内的大趋势,还可以用来开发最火的小程序。具有开发快,双向数据流等特点,有些人认为Vue是Angular和Reac...

    terasum 评论0 收藏0
  • Mac OS X下安装Vue脚手架(vue-cli)

    摘要:下面来就来讲讲脚手架的安装吧。如何安装安装只需要在终端下输入下面一条命令自带不需要安装安装完成后使用即可。原因是的问题,要求版本是。想用安装,就必须用安装一下。 前言 Vue作为前端三大框架(Angular,React,Vue)之一,号称是最简单,最容易上手的框架,同时也是行内的大趋势,还可以用来开发最火的小程序。具有开发快,双向数据流等特点,有些人认为Vue是Angular和Reac...

    CoderStudy 评论0 收藏0
  • Sublime Text 中配置 Eslint 代码检查和自动修复

    摘要:它的目标是提供一个插件化的代码检测工具。,有了全局的和当前项目根目录下的规则配置文件,我们开始装插件并测试功能吧代码检查这个功能需要的插件为和。但是它本身并没有代码检查的功能,需要借助这样的特定语言检查支持。 前言 第一次运行 Vue 项目时被浏览器中满屏的 ESLint 报错给吓到了,果断禁用了该功能! 再之后找了个时间认真的了解了一下 ESLint,终于有了一些概念。简单来说,ES...

    yunhao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<