当尝试在我的 M1 MacBook 上执行操作时,我遇到了 node-sass 错误yarn。
我有这个错误:
error /Users/antoinekurka/Documents/Freelance/Projets/NL/NextLevel/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments:
Directory: /Users/antoinekurka/Documents/Freelance/Projets/NL/NextLevel/node_modules/node-sass
Output:
Building: /opt/homebrew/Cellar/node/17.8.0/bin/node /Users/antoinekurka/Documents/Freelance/Projets/NL/NextLevel/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli '/opt/homebrew/Cellar/node/17.8.0/bin/node',
gyp verb cli '/Users/antoinekurka/Documents/Freelance/Projets/NL/NextLevel/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library='
gyp verb cli …Run Code Online (Sandbox Code Playgroud) 我最近决定使用RTLCSS来制作我的样式的RTL版本.现在我正在尝试使用声明级指令来告诉RTLCSS要做什么,但是SASS会将我的注释编译到下一行.
例如,font-size: 14px/*rtl:15px*/;编译到
font-size: 14px;
/*rtl:15px*/
Run Code Online (Sandbox Code Playgroud)
这会阻止RTLCSS正确地进行处理.有没有解决的办法?我可以配置sass只是按原样编译值,保留注释位置?
PS我使用grunt-sass(node-sass)来处理我的scss文件.
在写完这篇文章之后,我试图编写一个脚本,使用node-sass将我的sass编译为css。
这是我的package.json脚本部分:
"scripts" : {
"prestart" : "babel-node tools/startMessage.js",
"start" : "npm-run-all --parallel open:src lint:watch sass:watch test:watch",
"open:src": "babel-node tools/srcServer.js",
"lint": "node_modules/.bin/esw webpack.config.* src tools",
"lint:watch": "npm run lint -- --watch",
"sass": "node-sass src/assets/**/*.scss src/assets/css",
"sass:watch": "npm run sass -- --watch",
"test:watch": "npm run test -- --watch",
"test": "mocha --reporter progress tools/testSetup.js \"src/**/*.test.js\""
},
Run Code Online (Sandbox Code Playgroud)
现在,当我npm run sass通过终端运行时,会收到以下消息:
Introduction@1.0.0 sass /用户/ shooshte / PersonalProjects /介绍React node-sass src / assets / ** / *。scss src / assets / …
我尝试安装npm包.所有包都安装正确.但是当我尝试使用npm start当时运行应用程序时,出现以下错误:
错误在./node_modules/css-loader?{"sourceMap":false,"importLoaders":1}!./node_modules/postcss-loader?{"ident":"postcss"}!./node_modules/sass-loader/ lib/loader.js?{"sourceMap":false,"precision":8,"includePaths":[]}!./ src/styles.scss模块构建失败:
未定义
^
Mixins可能未在控制指令或其他内定义混入.
在D:\ DailyJS\CIDE_SCHOOL_DEV \node_modules\@angular\material_theming.scss(第2440行,第10列)
错误:
未定义
^
Mixins可能未在控制指令或其他mixin中定义.
在D:\ DailyJS\CIDE_SCHOOL_DEV \node_modules\@angular\material_theming.scss(第2440行,第10行)
的options.error(D:\ DailyJS\CIDE_SCHOOL_DEV \node_modules \node-sass\lib\index.js:291:26) )@ ./src/styles.scss 4:14-187
@ multi ./node_modules/font-awesome/scss/font-awesome.scss ./src/styles.scss
webpack:无法编译.
我不知道为什么会这样?以前我从Github克隆了存储库,然后使用安装了npm软件包npm install.然后它奏效了.
但今天,它给出了这个错误:
Mixins可能未在控制指令或其他mixin中定义.
我正在尝试安装node-sass,但不允许我这样做。我尝试更新npm。
我把它放在:
须藤npm install -g node-sass
而我得到这个(从错误之前开始一行):
gyp verb build dir attempting to create "build" dir:
/Users/matt/node_modules/node-sass/build
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir
'/Users/matt/node_modules/node-sass/build'
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/bin/node"
"/Users/matt/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "-
-verbose" "--libsass_ext=" "--libsass_cflags=" "--
libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/matt/node_modules/node-sass
gyp ERR! node -v v8.11.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN enoent ENOENT: no such file or …Run Code Online (Sandbox Code Playgroud) 我试图通过运行命令在Linux Mint上安装node-sass sudo npm install node-sass,但是我遇到了一些错误.它说它没有访问某些目录,这没有任何意义,因为我用sudo运行它.我在StackOverflow上尝试了很多解决方案,包括清除节点,使用不同的版本等,但没有一个有效.这是完整的终端日志:
> node-sass@4.9.3 install /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass
> node scripts/install.js
Unable to save binary /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/vendor/linux-x64-57 : { Error: EACCES: permission denied, mkdir '/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/vendor'
at Object.fs.mkdirSync (fs.js:885:18)
at sync (/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/mkdirp/index.js:71:13)
at Function.sync (/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/mkdirp/index.js:77:24)
at checkAndDownloadBinary (/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/scripts/install.js:114:11)
at Object.<anonymous> (/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/scripts/install.js:157:1)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
errno: -13,
code: 'EACCES',
syscall: 'mkdir',
path: '/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/vendor' }
> node-sass@4.9.3 postinstall /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass
> node scripts/build.js
Building: /usr/local/bin/node /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= …Run Code Online (Sandbox Code Playgroud) 运行咕unt声-我收到此错误消息:
Running "sass:all" (sass) task
Fatal error: The implementation option must be passed to the Sass task
Run Code Online (Sandbox Code Playgroud)
我试过重新安装grunt,node,npm,dependencies-但我总是回到这个无法逾越的错误。
我应该发布我的Gruntfile.js吗?坦白说,这是由第三方建立的,我们不经常使用-我想也许我们应该从头开始,因为它最初是大约4年前的...但是想知道是否有人看到过此错误之前,并且知道修复程序/解决方法。
我正在尝试部署我的 ionic 应用程序,但它不断抛出以下错误:
ionic2Project@2.4.1 build /builds//awaken-app
> ionic-app-scripts build
/builds///node_modules/@ionic/app-scripts/node_modules/node-sass/lib/binding.js:15
throw new Error(errors.missingBinary());
^
Error: Missing binding /builds///node_modules/@ionic/app-scripts/node_modules/node-sass/vendor/linux-x64-64/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 10.x
Found bindings for the following environments:
- OS X 64-bit with Node.js 12.
Run Code Online (Sandbox Code Playgroud)
这似乎与工作node-sass@4.12.0,但ionic-app-scripts具有node-sass@4.10.0在它的package.json。
当我尝试在node-sass本地重建时,我看到以下错误:
$ npm rebuild node-sass
> node-sass@4.10.0 install /Users//node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.10.0/darwin-x64-72_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.10.0/darwin-x64-72_binding.node":
HTTP error 404 …Run Code Online (Sandbox Code Playgroud) 我知道默认情况下 node-sass 可以缩小 css。但是像我这样的管道有什么选择,可以创建一个 js 和一个单独的 css 工件?
const resolve = require('rollup-plugin-node-resolve');
const babel = require('rollup-plugin-babel');
const replace = require('rollup-plugin-replace'); // use to setup project enviroment variables
const sass = require('rollup-plugin-sass');
const json = require('rollup-plugin-json');
const image = require('rollup-plugin-image');
const reactSvg = require('rollup-plugin-react-svg');
const fs = require('fs');
const babelOptions = JSON.parse(fs.readFileSync('.babelrc'));
const js = {
input: 'src/index.js',
output: {
file: 'lib/index.js',
format: 'es',
},
plugins: [
json(),
reactSvg(),
image(),
sass({
output: 'lib/styles.css',
}),
babel({
...babelOptions,
babelrc: false,
exclude: ['node_modules/**'],
runtimeHelpers: …Run Code Online (Sandbox Code Playgroud)