我正在尝试写一个shell脚本来自动化我的开发环境设置(安装python,nvm,node,mongo等)。我正在使用nvm安装Node。它告诉您关闭并重新打开终端以开始使用nmv命令。我尝试源.bashrc和.profile,使命令立即可用,这样我就可以继续运行脚本与nvm安装,但它不工作。
以下是我的脚本中与安装NVM / Node相关的部分:
#install nvm and latest node version
# sourcing profile and bashrc is not working here. nvm does not execute the next two lines to install node.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
source ~/.profile
source ~/.bashrc
nvm install 5.0
nvm alias default node
我得到这些消息,但请注意,我已经运行了脚本和NVM /节点已经安装和工作。我还可以在脚本完成后在运行脚本的同一个终端中使用nvm和node。只是剧本里没有。
=> Downloading nvm from git to '/home/myDir/.nvm'
=> fatal: destination path '/home/myDir/.nvm' already exists and is not an empty directory.
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
=> Source string already in /home/myDir/.bashrc
=> Close and reopen your terminal to start using nvm
./install-programs.sh: line 27: nvm: command not found
./install-programs.sh: line 28: nvm: command not found
6条答案
按热度按时间i7uq4tfw1#
如果你有nvm运行在主shell上,你只需要添加:
在你的剧本里
6bc51xsx2#
这就是我的工作。
首先使用SSH或控制台安装nvm(单独安装一次):
然后在您的脚本中,加载您的配置文件如下:
幸运的话,
nvm
应该可以在脚本中使用。Tada!
6pp0gazn3#
把这个放在你的剧本上面:
在这里就像一个魅力。
vulvrdjw4#
这个脚本对我来说很好:
yeotifhr5#
现在,你可以简单地这样做:
env NODE_VERSION=<dd> /home/<user>/.nvm/nvm-exec npm run front
简单地搜索nvm.sh对我不起作用(从systemd.service文件),PATH不包括
~/.nvm...
信用证到期时的信用证:https://gist.github.com/joepie91/73ce30dd258296bd24af23e9c5f761aa#gistcomment-2215867
o8x7eapl6#
确保NVM安装在服务器/您的机器中按照以下格式修改您的shell脚本,我们使用的shell脚本在客户端和服务器中使用两个不同的节点版本。请检查这是否适用于您?