Файлы NVM удаляются по какой-то причине (только иногда) - PullRequest
0 голосов
/ 14 декабря 2018

Следующее происходит на моем производственном сервере (созданном мной), но не на моем сервере разработки (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.sh & node, просто захватывают существующие.

...