最近琢磨将本地开发的Vue项目打包部署到生产环境,生产操作系统用的CentOS6.9
rpm install nodejs
发现安装的node版本时0.10.6,实在是低的可怜,果不其然,执行
npm run build
时提示Use of const in strict mode,网上说nodejs版本太低,于是尝试很多推荐的nodejs升级三连
npm cache clean -f
sudo npm install -g n
sudo n stable
发现根本没有用,还是0.10.6,此路不通
有人说CentOS7的yum安装的node版本会新一点,但这就重装系统显示是不至于的,下面附上解决方案
1.添加nodejs的安装包(这里安装的是node11)
yum install -y gcc-c++ make
curl -sL https://rpm.nodesource.com/setup_11.x | sudo -E bash -
2.使用yum来安装node
sudo yum install nodejs
3.检查是否安装成功
node -v
v11.15.0
npm -v
6.7.0
以上便是CentOS6安装node11的解决方法,下面记录下后续代码部署出现的问题
1.每次git pull 都要输入账号密码
获取仓库路径时避免使用HTTPS,换而使用SSH
2.代码拉下来时执行npm run build 各种依赖报错,一次性安装更新所有相关依赖
npm install
3.依赖安装完毕执行npm run build 编译提示Can't resolve '@/views/Index/index' in ...

打开对应的文件夹发现是index.html,linux环境区分大小写,所以在windows中编译项目没问题,但是在linux中报错
4.git更改文件大小写时区分不了
有说设置git config core.ignorecase false,本地修改提交后提示新增了Index.html,删掉项目重新克隆时发现重命名没有生效,有效方法如下:
git mv index.html Index.html
再次提交时出现预期的rename修改提示
5.以下附上linux部署Vue项目的脚本,项目版本代码放在/data/version/myVueProject,最终将打包生成的static和index.html文件部署在nginx指向的/data/lapp中
#! /bin/bash
echo "package is running!"
cd /data/version/myVueProject
git pull
npm run build
echo ""
echo "copy file to lapp!"
echo ""
cp -r /data/version/myVueProject/dist/{static,index.html} /data/lapp/
echo "copy is finshed and exit shell!"
网友评论