“哪个nvm”不见了
Posted
技术标签:
【中文标题】“哪个nvm”不见了【英文标题】:"which nvm" is gone 【发布时间】:2013-10-08 12:48:11 【问题描述】:我在 ubuntu 机器上安装了 NVM,但是,当我将它放入 crontab 以在重启期间执行时:
@reboot nvm use 0;
它不起作用,我收到了来自 cron 守护进程的邮件,说:
/bin/sh: 1: nvm: not found
所以,我认为这是一个路径问题,并试图找到安装 NVM 的位置。令我惊讶的是,我得到了空结果:
root@vps-1145280-18735:~# which nvm
root@vps-1145280-18735:~#
但是,即使在重新启动后,NVM 本身也可以工作:
root@vps-1145280-18735:~# nvm
Node Version Manager
...
这很奇怪——系统怎么会找到nvm程序,而“which nvm”是空的?!
而且,更重要的是 - 我应该怎么做才能让 cron 程序在启动期间找到 NVM?
【问题讨论】:
这能回答你的问题 Erel 吗? 这些重复:***.com/questions/20921427/…***.com/questions/24585261/… 【参考方案1】:nvm
命令不是一个文件,而是一个 shell 函数。
source ~/.nvm/nvm.sh
将这些函数添加到您当前的 shell。而且因为这些命令不是文件,所以当你which nvm
时它们不会显示出来。
查看.nvm/nvm.sh
文件,您可以看到定义的提供该功能的nvm() ... 函数。
Cron 很可能作为不同的用户使用,并且该用户需要在运行之前将 source ~/.nvm/nvm.sh
添加到其 shell 上下文中。
【讨论】:
以上是关于“哪个nvm”不见了的主要内容,如果未能解决你的问题,请参考以下文章