在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