Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点sass错误(请尝试重新安装)_Node.js_Ubuntu_Sass_Gruntjs_Node Sass - Fatal编程技术网

Node.js 节点sass错误(请尝试重新安装)

Node.js 节点sass错误(请尝试重新安装),node.js,ubuntu,sass,gruntjs,node-sass,Node.js,Ubuntu,Sass,Gruntjs,Node Sass,我正在尝试构建一个前端服务器,当我运行grunt时,我得到了一个错误,建议重新安装节点sass Aborted due to warnings. dev@ubuntu:~/ideaProjects/web-app$ grunt app:dashboard/dev-dashboard --force Loading "sass.js" tasks...ERROR Error: `/home/dev/ideaProjects/web-app/node_modules/grunt-sass/node_

我正在尝试构建一个前端服务器,当我运行grunt时,我得到了一个错误,建议重新安装节点sass

Aborted due to warnings.
dev@ubuntu:~/ideaProjects/web-app$ grunt app:dashboard/dev-dashboard --force
Loading "sass.js" tasks...ERROR
Error: `/home/dev/ideaProjects/web-app/node_modules/grunt-sass/node_modules/node-sass/bin/linux-x64-v8-3.28/binding.node` is missing. 
Try reinstalling `node-sass`?
奇怪的是文件(binding.node)确实存在,但它位于名为“linux-x64-v8-3.14”的文件夹中,而不是3.28。我试着将文件夹命名为3.14,但它不起作用。我已经尝试了我能做的一切来修复这个问题,npm安装节点sass,npm更新,甚至清理项目并在新版本上运行npm安装。但是没有用。我反复地犯这个错误

有没有人见过这个或者知道如何解决这个问题?我正在运行Ubuntu 14.04 x64

谢谢


我只是运行了npm安装来安装项目依赖项。是否有>其他我应该运行的东西?(我是web开发新手。我是java/android>开发人员)

我不这么认为。基本设置、项目文件夹:

.
├── Gruntfile.js
├── node_modules
└── sass
    └── main.scss
GrunFile.js包含:

module.exports = function (grunt) {

grunt.loadNpmTasks('grunt-sass');

grunt.initConfig({
    sass: {
        options: {
            sourceMap: true
        },
        dist: {
            files: {
                'css/main.css': 'sass/main.scss'
            }
        }
    }
});

grunt.registerTask('default', ['sass']);
}
然后运行:

npm install grunt-sass
现在,您应该能够运行:

grunt
目前,上述产出:

Running "sass:dist" (sass) task

Done, without errors.
请注意,
npm install grunt sass
命令应该输出如下所示的内容,可能与您的错误有关:

/
> node-sass@3.1.2 install /home/testdrive/sassgrunt/node_modules/grunt-sass/node_modules/node-sass
> node scripts/install.js

Binary downloaded and installed at /home/testdrive/sassgrunt/node_modules/grunt-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node

> node-sass@3.1.2 postinstall /home/testdrive/sassgrunt/node_modules/grunt-sass/node_modules/node-sass
> node scripts/build.js

` /home/testdrive/sassgrunt/node_modules/grunt-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node ` exists. 
 testing binary.
Binary is fine; exiting.

我在使用gulp sass的Debian Linux上遇到了基本相同的错误(基本上与grunt sass相同,但对于gulp…两者都只是围绕节点sass的相应工具的包装,节点sass是实际sass编译器libsass的nodejs端口)

节点sass项目在其报告中提到,仅包含“流行平台”(显然是Windows/Mac)的二进制文件,您可能需要为其他平台构建

我能够通过直接在Debian机器上显式地重新运行节点sass的安装和构建脚本来解决这个问题。以下是大致的步骤:

  • 从linux机器上的命令提示符中,将cd复制到项目目录
  • cd到项目源中的节点sass目录。可能类似于
    cd node\u modules/grunt sass/node\u modules/node sass
    之类的内容
  • 节点脚本/install.js
  • 节点脚本/build.js
  • 应该看到类似于
    二进制的消息就可以了;正在退出。
    。这将为运行脚本的平台添加正确的节点sass二进制文件
  • 尝试再次运行你的grunt构建,希望它能工作
您使用哪个命令安装grunt sass?它是否产生任何错误/警告?grunt sass在Ubuntu 14.04 x64I上运行良好,我刚刚运行了npm安装来安装项目依赖项。还有什么我应该运行的吗?(我是web开发新手。我是java/android开发人员)我运行了npm安装grunt sass,输出与您发布的相同,但运行grunt时错误仍然存在。这正是我犯的错误——你救了我一天!感谢@Bass jobsen这几乎对我有效,我要做的是进入
node_modules/grunt sass/node_modules/node sass
,然后简单地运行
npm install
,从那里我运行了一个ubuntu,我的问题描述略有不同,但这篇文章解决了它。问题w/me:
错误:enoint:没有这样的文件或目录,scandir'/node\u modules/node sass/vendor'
并且vendor文件夹和内容不存在。