[英]How to run NVM command from bash script
我想从bash脚本运行NVM
命令,即nvm use 0.12.7
。 所以,我写了bash文件:
#!/bin/bash
. ~/.nvm/nvm.sh
nvm use 0.12.7
然后在终端中以sudo ./script.sh
是我的bash文件,上面的代码被写入)中运行命令。 Now using node v0.12.7
给我结果。 但是当我检查版本是否激活时,我发现没有影响。 即我运行命令nvm ls
,发现结果为:
v0.12.0
v0.12.7
这意味着未激活0.12.7
版本。 因此,我应该在bash脚本中编写哪些内容,因为我可以从bash文件激活节点版本。
其中一个优点nvm
是,你不需要使用sudo
安装版本或切换到另一个版本。 我不确定为什么在nvm
命令中使用sudo
。
正如其他人也说过的那样,问题在于在子外壳中更改了版本。 因此,“真实”外壳中的版本不会更改。
您可以使用运行脚本来完成此操作.
(点空间)。 这将使脚本能够更改当前shell中的内容。
这是我的~/bin/nvm-use-4
脚本:
. /usr/local/opt/nvm/nvm.sh
nvm use 4
并使用它:
prawie:~$ nvm current
v0.10.29
prawie:~$ . nvm-use-4
Now using node v4.2.1
prawie:~$ nvm current
v4.2.1
如果您被迫在此处使用sudo
,我认为不可能完成您想要的事情,因为sudo'ed命令在子外壳中运行。
不幸的是,您没有告诉use为什么要这样做或想要完成什么。 可能会有更好的解决方案来解决您的问题。 例如,如果要在打开新的外壳程序时始终使用特定版本的node.js
,则可以node.js
下行添加到.profile
, .bashrc
或等效文件中:
nvm use 0.12.7
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.