当前位置: 首页 > 面试题库 >

升级到节点7后找不到模块“ internal / fs”

宗政唯
2023-03-14
问题内容

我们最近尝试在构建服务器上升级到节点v7.0.0,但是在“
bower_concat”步骤
失败的应用程序构建任务期间开始出现问题:

Loading "bower-concat.js" tasks...ERROR
Error: Cannot find module 'internal/fs'

我们已经安装了什么:

  • nodev7.0.0(通过yum “ nodesource”存储库安装)
  • npm 4.0.1
  • 使用grunt(如果相关)
  • grunt-bower-concat 0.6.0

Grunt构建任务配置:

grunt.registerTask(
    'build:prod', [
        'clean:prod',
        'copy:prod',
        'replace',
        'bower_concat',
        'ngtemplates',
        'concat',
        'uglify',
        'cssmin',
        'injector:prod',
        'copy:cssfix',
        'copy:dist',
        'bowercopy:dist',
        'bowercopy:fonts',
        'template:setProdVersion'
    ]
);

bower_concat艰巨的任务:

bower_concat: {
    all: {
        dest: '<%= app.build %>/bower.js',
        cssDest: '<%= app.build %>/bower.css',
        dependencies: {
            'bootstrap': 'jquery'
        },
        mainFiles: {
            "angular-app-modules": [
                "app/dist/angular-app-modules.min.js",
                "app/dist/angular-app-modules.min.css"
            ]
        }
    }
},

请注意,它在节点v6.9.0上没有任何问题。

是什么原因引起的?我们是否可以解决该问题而无需降级到节点v6?

也存在这个相关问题,但是到目前为止,该信息对我们的案例没有帮助。


问题答案:

首先,以管理员身份打开控制台(sudo如果是Linux ,则在终端中打开控制台),然后:

npm cache clean

对于npm 5及更高版本

npm cache clean --force

编辑:

对于Windows,您可能无法清除缓存,因此可以通过删除以下所有文件夹内容来手动删除缓存:

C:\Users\<USER-NAME>\AppData\Roaming\npm-cache

谢谢“ superwf”,这种情况可能会发生一些,但是我不必这样做(也许是因为我的最低安全级别?!)。

结束编辑。

然后返回普通控制台(不是管理员或root用户),返回到package.json所在的项目目录,然后node_modules从项目中删除该文件夹,将其完全删除,然后在项目文件夹中再次安装节点模块:

npm install

您可能需要先更新模块,然后才能再次安装模块。我建议这样做,但是如果模块中有任何主要版本更改,请 务必避免更改 更改。此模块npm-check-
updates
可以帮助您检查最新版本并进行更新。

另外,您可能还需要安装最新的全局模块,并通过以下方法检查更新:

ncu -g

要么

npm outdated -g

如果仍然卡住,则可能需要删除全局node_modules文件夹,然后重新安装所需的文件。

编辑

Yarn选项 :有些人甚至在清理程序上都遇到了同样的问题,实际上,使用 Yarn
可以节省很多时间。就我个人而言,我开始使用它yarn而不是传统方法npm i,我可以保证它更快,并节省您的时间,并使您的头免于npm的困扰。



 类似资料:
  • 我正在尝试在我的窗口上设置现有的nodejs项目 当我运行node app.js时,我收到以下错误 include-all尝试要求(C:\xampp\htdocs\sails\backend\api\services\fileuploadservice.js)`,但发生错误::详细信息:错误:在function.module._resolveFileName(module.js:547:15)在f

  • 问题内容: 这是我要运行的代码 这就是我得到的: module.js:340抛出错误; ^ 错误:找不到模块“ nw.gui” master/file-explorer/main.js:6:13) 我无法获得此模块。我该怎么办? 问题答案: 是NW.js(以前称为node-webkit)模块。从代码的运行时环境中运行代码时,NW.js应该提供对它的访问。 通过错误消息的外观,我认为您是直接通过No

  • 我用Play2.0创建了一个应用程序。我实现了scribe-java库来使用一些OAuth服务。直到今天,一切都很好,但当我升级jdk并重新启动服务器时,我不能使用scribe-java库。它似乎在sun.security包中使用了和类,但找不到。 “java-version”返回: 播放2.0 StackTrace:

  • 有许多网站提供了将liferay 6.2升级到dxp的文章,但仅限于ant项目。我们如何将liferay 6.2 maven项目升级为liferay dxp gradle项目?

  • 我有以下package.json 关于使用纱线安装我遇到的模块 警告“laravel-elixir-vue-2>sass-loader@4.1.1”有未满足的对等项依赖关系“webpack@^2^2.2.0-rc.0^2.1.0-beta^1.12.6”。[4/4]正在生成新鲜包...错误/home/vagrant/code/xxx/node_modules/node-sass:命令失败。退出代码

  • 问题内容: 我正在使用node.js和webpack创建一个包。据我了解,node.js应该包含用于管理文件的模块。但是,当我打电话时,我得到一个错误。我该怎么办? 问题答案: 与webpack捆绑在一起时,我自己遇到了这个问题,并在此线程上找到了答案。 为我解决此问题的方法是使用以下配置: 通过将目标设置为节点webpack,将进行必要的更改以捆绑节点应用程序 编辑:此答案针对的是webpack