Ruby ошибка компаса с момента обновления до MACOS Catalina - PullRequest
3 голосов
/ 06 января 2020

У меня есть старая настройка для веб-сайта, использующего Gulp для компиляции файлов SASS с помощью gulp-sass. Все работало без проблем, пока я не обновил свой Ma c до Catalina.

Теперь, когда я запускаю команду gulp для компиляции SASS, я получаю следующую ошибку: -

/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/fileutils.rb: Read-only file system @ dir_s_mkdir - /c
Run with --trace to see the full backtrace
events.js:174
throw er; // Unhandled 'error' event
^
Error: Compass failed

Я искал много форумов и пробовал решения, такие как обновление Ruby, локальная установка Gems et c, и ничего не решило проблему.

Любое направление было бы замечательно.

"devDependencies": { "@babel/cli": "7.4.4", "@babel/core": "7.4.5", "@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/polyfill": "^7.4.4", "@babel/preset-env": "7.4.5", "@babel/register": "7.4.4", "autoprefixer": "^6.3.6", "babel-jest": "^24.8.0", "babel-loader": "^8.0.6", "babel-minify-webpack-plugin": "^0.3.1", "bower": "^1.7.9", "bricks.js": "^1.0.1", "browser-sync": "^2.26.5", "compression-webpack-plugin": "^3.0.1", "concurrently": "^4.1.0", "cssnano": "^3.4.0", "eslint-loader": "2.1.2", "eslint-plugin-flowtype": "^2.50.1", "eslint-plugin-jest": "^23.2.0", "gulp": "^3.9.1", "gulp-babel": "^8.0.0", "gulp-compass": "^2.1.0", "gulp-concat-util": "^0.5.4", "gulp-data": "^1.2.1", "gulp-eslint": "^5.0.0", "gulp-imagemin": "^4.1.0", "gulp-plumber": "^1.2.1", "gulp-postcss": "^6.0.1", "gulp-print": "^5.0.0", "gulp-rename": "^1.2.2", "gulp-sass": "^3.2.1", "gulp-sass-lint": "^1.4.0", "gulp-sourcemaps": "^1.6.0", "gulp-twig": "^0.5.0", "gulp-uglify": "^1.5.1", "gulp-util": "^3.0.7", "jest": "^24.5.0", "jest-puppeteer": "4.2.0", "lodash": "^4.17.15", "node-sass": "^4.13.0", "path": "^0.12.7", "postcss-assets": "^4.0.1", "postcss-cssnext": "^2.4.0", "puppeteer": "^1.18.0", "stylelint": "^9.5.0", "stylelint-order": "^1.0.0", "uglifyjs-webpack-plugin": "^2.1.3", "webpack": "^4.32.2", "webpack-bundle-analyzer": "^3.3.2", "webpack-cli": "^3.3.2", "webpack-concat-plugin": "^3.0.0" }, "dependencies": { "babel-preset-jest": "^24.6.0", "chart.js": "^2.8.0", "jquery": "3.4.1", "natives": "^1.1.6" },

Ответы [ 2 ]

1 голос
/ 06 января 2020

Попробуйте без Ruby и явно укажите node-sass .

gulpfile. js

var gulp = require('gulp');
var sass = require('gulp-sass');

sass.compiler = require('node-sass');

gulp.task('test-gulp-sass', done => {
  sass();
  done();
})
$ npm install --save-dev gulp gulp-sass node-sass
$ npx gulp test-gulp-sass
0 голосов
/ 08 января 2020

Спасибо всем. Моя проблема в том, что SASS написано в Ruby SASS. node-sass - это оболочка для Lib SASS. Что не сработает для этой кодовой базы.

Я закрываю вопрос, так как считаю, что нашел ответ.

MacOS Catalina внесла два больших изменения с Ruby.

1 - Версия системы Ruby была обновлена ​​с 2.3 до 2.6, а 2 - Системный каталог Ruby gems отсутствует более доступный для записи - это не место для установки пользовательских гемов.

Это вызывает проблемы, которым я верю. Предлагаем переустановить Ruby с Homebrew. Я нашел некоторую информацию о том, как это сделать здесь https://gorails.com/setup/osx/10.15-catalina

...