windows 执行 sh 脚本, 找不到 npm 命令

先说下先背景,在win 上 执行sh 脚本,来实现node的简单部署,
#!bin/bash
# bash build.sh  x.x.x.x prod
param_verison=$(date +%F)
param_ip=${1}
param_env=${2}
param_ctiy=${3}

project_dir_path=$(
  cd $(dirname $0)
  pwd
)
package_name="tbk-admin"
project_name="tbk-admin"
project_path=$(dirname "$PWD")
echo ""
echo "版本号:${target_time}"
echo "项目名:${project_name}"
echo ""
# if [[ $param_verison = '' ]]; then
#   echo "请输入版本号"
#   exit 8
# fi

if [[ $param_ip = '' ]]; then
  echo "请输入ip"
  exit 8
fi
if [[ $param_env = '' ]]; then
  echo "请输入环境"
  exit 8
fi

if [[ $param_ctiy != '' ]]; then
  package_name=$project_name-$param_ctiy
fi
echo $project_name

echo $project_path

cd ../c

npm run build
echo "=================================编译结束============================================"
cd ../s

tar -zcvf ../../dist/${package_name}-${param_verison}.tgz --exclude=.git --exclude=logs --exclude=node_modules --exclude=target  .

echo "=================================打包结束============================================"

if [[ $param_env == 'prod' ]]; then # 正式环境
  scp D:/Work/Tbk/dist/${package_name}-${param_verison}.tgz admin@xxx.x.x:~/admin
  ssh admin@${param_ip} "cd admin; tar -zxvf ${package_name}-${param_verison}.tgz;npm run start"
  echo "=================================上传结束============================================"
fi

就会报

bash: npm: command not found

如果node是配置 /etc/profile, 就会找不到npm命令

需要创建一个软链接

 ln -s /opt/nodejs/bin/npm /usr/local/bin/
 ln -s /opt/nodejs/bin/node /usr/local/bin/

这样就可以了,仅供参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值