由于某些原因(仅有时)删除了NVM文件

时间:2018-12-14 07:21:00

标签: node.js build devops nvm

以下情况发生在我的生产服务器(由我创建)上,而不发生在我的开发服务器(带有一些附加功能的Homestead)上。

通过运行常规安装和一些附加操作,我已经在生产中正确安装了NVM:

wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | bash
source ~/.nvm/nvm.sh

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

sudo chown -R $(whoami) $HOME/.nvm/

nvm install 10.7.0 && nvm alias default 10.7.0 && nvm use 10.7.0

执行以下操作后,通过运行检查所有内容是否存在:

nvm ls
node -v

在部署前端项目(使用Angular CLI,Gulp)时,有时(很多次)构建会中断,因为突然找不到节点,为什么?因为在操作过程中不知何故,某些操作只会破坏.nvm文件夹中的特定文件(包括nvm.sh本身)。

正如我所说-在本地开发服务器中不会​​发生。

部署脚本执行以下操作:

npm uninstall -g angular-cli
npm uninstall -g @angular/cli
npm uninstall -g gulp
npm uninstall -g gulp-sass
npm cache verify
npm install -g @angular/cli@6.0.8
npm install -g gulp@latest
npm install -g gulp-sass@latest
npm install
ng build --base-href=/app/ --deploy-url=/app/js/ --prod
gulp

gulp文件如下:

var gulp = require('gulp');
var runSequence = require('run-sequence');
var size = require('gulp-size');
var del = require('del');
var outputFolder = '../backend-mallabee/public/app';

gulp.task('default', function() {
  runSequence(['copy-html', 'copy-favicon', 'copy-js-files', 'copy-js-source-map-files', 'copy-assets'], 'remove-dist-folder');
});

gulp.task('copy-html', function() {
  return gulp.src(['dist/index.html']).pipe(gulp.dest(`${outputFolder}`));
});

gulp.task('copy-favicon', function() {
  return gulp.src(['dist/favicon.ico']).pipe(gulp.dest(`${outputFolder}`));
});

gulp.task('copy-js-files', function() {
  return gulp
    .src(['dist/*.js'])
    .pipe(
      size({
        gzip: true,
        showFiles: true
      })
    )
    .pipe(gulp.dest(`${outputFolder}/js`));
});

gulp.task('copy-js-source-map-files', function() {
  return gulp.src(['dist/*.js.map']).pipe(gulp.dest(`${outputFolder}/js`));
});

gulp.task('copy-assets', function() {
  return gulp.src(['dist/assets/**/*']).pipe(gulp.dest(`${outputFolder}/assets`));
});

gulp.task('remove-dist-folder', function() {
  return del('./dist');
});

这是我运行部署脚本后的nvm文件夹的图片: enter image description here

nvm文件夹的图片应该是这样的: enter image description here

您会看到,作为主要重要文件的文件(和文件夹)突然被从系统中删除,例如.nvm.shnode只是抢占了现有文件。

0 个答案:

没有答案
相关问题