引子:自己写了一个 dogsay 命令行美化工具(cli),之前一直在 MacOS 和 Windows 中使用,但是最近配置在了 Linux 中,报错。
报错
-bash: /root/.nvm/versions/node/v19.4.0/bin/dogsay:node:解释器错误: No such file or directory
或:
-bash: /root/.nvm/versions/node/v19.4.0/bin/dogsay:node:Interpreter error: No such file or directory
解决方法:
在你的 可执行文件 的 头部 添加 #! /usr/bin/env node
什么是可执行文件(如何确定可执行文件):
如果这个 cli 是你自己开发的,打开 package.json,找到 bin 下文件,我这里是 dogsay.js 。
如果这个 cli 不是你开发的,进入刚才报错的路径 例如我这里是 /root/.nvm/versions/node/v19.4.0/bin
cd /root/.nvm/versions/node/v19.4.0/bin
# 然后查看当前 node 环境中的所有全局安装命令
ls
可以看到可执行文件(我这里是 dogsay):
然后 给可执行文件 添加 #! /usr/bin/env node
vim dogsay
#! /usr/bin/env node是什么 ???
#!/usr/bin/env node 到底是什么拾掇时光的印记的博客-CSDN博客#! /usr/bin/env node