use-node-version.sh 708 B

12345678910111213141516171819202122232425262728
  1. #!/bin/bash
  2. # 检查是否安装了 nvm
  3. if [ -z "$(command -v nvm)" ]; then
  4. echo "Error: nvm is not installed"
  5. echo "Please install nvm first: https://github.com/nvm-sh/nvm#installing-and-updating"
  6. exit 1
  7. fi
  8. # 获取 .nvmrc 中指定的版本
  9. NODE_VERSION=$(cat .nvmrc)
  10. # 检查是否已安装所需版本
  11. if ! nvm ls $NODE_VERSION > /dev/null 2>&1; then
  12. echo "Required Node.js version $NODE_VERSION is not installed"
  13. echo "Installing Node.js $NODE_VERSION..."
  14. nvm install $NODE_VERSION
  15. fi
  16. # 使用指定版本
  17. echo "Switching to Node.js $NODE_VERSION..."
  18. . "$(dirname $(command -v nvm))/nvm.sh" # 加载 nvm
  19. nvm use $NODE_VERSION
  20. # 执行传入的命令
  21. if [ $# -gt 0 ]; then
  22. exec "$@"
  23. fi