在Mac上找不到“express”命令

肯定是一个noob问题,所以请不要判断,但这一直困扰着我一段时间。

没有更多的时候我运行$ sudo npm install -g express-generator或者$ npm install express -g ,似乎所有东西都安装了,但$ express命令仍然不存在。

我正在运行鱼壳。 另外,我假设这是一个来自我的PATH文件的问题,但是如果这是.bash_profile或.bashrc,我就会迷失方向。

我的.bash_profile有三行:

  export PATH=/usr/local/bin:$PATH export PATH=/Users/username/.node/lib/node_modules/express-generator/bin/express:$PATH export PATH=/Users/username/.node/bin/express:$PATH 

和我的.bashrc文件没有关于它的节点。

当快递安装时,它返回:

  /Users/username/.node/bin/express -> /Users/username/.node/lib/node_modules/express-generator/bin/express /Users/username/.node/lib 

但是当我命令which node它返回

 /usr/local/bin/ 

当我尝试运行$ls -l /usr/local/bin/express它会返回:

 ls: /usr/local/bin/express: No such file or directory 

无法find安装后快速命令不起作用的诊断。

如果你正在运行鱼,当然你的.bash_profile会被忽略!

将/Users/username/.node/bin/添加到$ PATH中的首选方式如下所示:

 set -U fish_user_paths $fish_user_paths /Users/username/.node/bin/ 

这只是你在命令行上运行一次,而不是你放在启动文件中的东西。

如果你喜欢使用启动文件,你可以修改你的~/.config/fish/config.fish如下所示:

 set PATH $PATH /Users/username/.node/bin/ 

在安装之后的符号链接中, express应该在/Users/username/.node/bin目录中可用。 不能使用二进制文件的原因是/Users/username/.node/bin目录不在$PATH$PATH中的什么是二进制本身。

将目录添加到$PATH ,可以从目录内执行二进制文件。 目前,你的$PATH指向/Users/username/.node/bin/express ,里面没有任何二进制文件。 你应该改正它:

 export PATH=/Users/username/.node/bin:$PATH