[英]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.