我已经通过“npm install”安装了Node.js模块,然后尝试在命令提示符下执行gulp sass watch。之后,我得到了以下回应。

[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
                                  ^

ReferenceError: primordials is not defined

我在大口大口看之前已经试过了:

npm -g install gulp-cli

当前回答

简单优雅的解决方案

只需遵循以下步骤。它与多次运行的npm安装或安装任何其他模块,甚至将项目发布到artifactory,都能完美配合。

在package.json所在的目录中,创建一个npm-shrinkwrap.json文件,其中包含以下内容:

{
  "dependencies": {
    "graceful-fs": {
        "version": "4.2.2"
     }
  }
}

运行npm install,不用担心,它会用一堆内容更新npm-shrinkwrap.json。让我们通过更新package.json脚本选项来消除这些更新。

"scripts": {
    "preshrinkwrap": "git checkout -- npm-shrinkwrap.json",
    "postshrinkwrap": "git checkout -- npm-shrinkwrap.json"
}

现在,您可以运行npm安装程序,您的npm-shrinkwrap.json将完好无损,并将永远工作。

其他回答

在npm安装过程中使用Python 2(可执行Python)对我很有用:

npm install --python=~/venv/bin/python

升级到4.0.1并确保迁移https://fettblog.eu/gulp-4-parallel-and-series/#migration

如果您正在尝试安装语义ui,并且出现以下错误,请尝试从Node.js.org下载具有最新功能的最新版本的Node.js js(13.5.0)。

此外,您不应该尝试NPM安装语义,而应该将链接(可以从cdnjs链接中找到)添加到index.html文件的头部。

我通过将Node.js版本从12.14.0降级到10.18.0并重新安装Node_modules来解决问题。

使用以下命令安装Node.js v11.15.0和Gulp.js v3.9.1:

npm install -g n

sudo n 11.15.0

npm install gulp@^3.9.1
npm install
npm rebuild node-sass

它将解决这个问题:

ReferenceError:节点中未定义原始值