首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“哪个nvm”消失了

“哪个nvm”消失了
EN

Stack Overflow用户
提问于 2013-10-02 15:17:59
回答 1查看 3K关注 0票数 17

我在一台ubuntu机器上安装了NVM,但是,当我将它放入crontab以便在重启期间执行时:

代码语言:javascript
复制
@reboot nvm use 0; 

它没有工作,我收到了一封来自cron守护进程的邮件,上面写道:

代码语言:javascript
复制
/bin/sh: 1: nvm: not found

所以,我认为这是一个路径问题,并试图找到NVM的安装位置。令我惊讶的是,我得到的结果是空的:

代码语言:javascript
复制
root@vps-1145280-18735:~# which nvm
root@vps-1145280-18735:~# 

但是,即使在重启之后,NVM本身也可以工作:

代码语言:javascript
复制
root@vps-1145280-18735:~# nvm

Node Version Manager
...

这非常奇怪-当“哪个nvm”是空的时候,系统怎么会找到nvm程序呢?!

更重要的是,我应该怎么做才能让cron程序在启动期间找到NVM?

EN

回答 1

Stack Overflow用户

发布于 2014-11-09 02:52:39

nvm命令不是一个文件,而是一个外壳函数。

source ~/.nvm/nvm.sh会将这些函数添加到您当前的shell中。因为这些命令不是文件,所以当您使用which nvm时,它们不会显示出来。

查看.nvm/nvm.sh文件,您可以看到定义了一个提供该功能的nvm() {...}函数。

Cron可能以不同的用户身份使用,在运行之前,该用户需要将source ~/.nvm/nvm.sh添加到其外壳上下文中。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19131781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档