【发布时间】:2021-10-04 00:58:06
【问题描述】:
我正在从 crontab 运行一个脚本,我想在其中设置 npx 的符号链接。它会做一些其他的事情,这些事情取决于npx 命令本身。它在给定的时间间隔上按预期运行脚本,但它没有给我命令which npx 或whereis npx 的结果。当我尝试直接从终端运行脚本时,这些命令会生成正确的路径。
请注意,我使用的crontab 是在root 用户权限下,即使用sudo crontab -e 设置并在生成“root”的脚本中使用echoing whoami 进行验证)
【问题讨论】:
-
npx在哪里?默认情况下,cron 作业以非常小的PATH(通常只是/usr/bin:/bin)运行,如果它不在其中的目录之一中,which将找不到它(whereis有点不同,但可能有类似的问题)。 -
嗨 Gordon,NPX 是 npm 附带的执行器,最小路径是什么意思...这个脚本不是在同一环境中运行...因为我能够正确当我手动运行脚本时,npx 的路径(带有
which npx),谢谢! -
您是否有
$HOME/.profile或$HOME/.bash_rc更改路径?尝试先获取该文件。 -
cron 作业不会像您的正常环境那样运行;见this Q&A。另外,请注意它确实拥有的环境是 root 的,而不是你的。