'表示'在mac上找不到命令

时间:2016-06-04 03:02:40

标签: node.js macos express npm fish

绝对是一个菜鸟问题,所以请不要判断,但这一直困扰着我。

不再运行$ 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

无法找到安装后快速命令无法正常工作的诊断。

2 个答案:

答案 0 :(得分:2)

如果您正在运行fish,当然会忽略.bash_profile!

将/Users/username/.node/bin/添加到fish中的$ PATH的首选方法是:

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

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

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

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

答案 1 :(得分:1)

安装后的符号链接中,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