ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 升级到节点7后找不到模块’internal / fs’

2019-09-30 04:36:47  阅读:222  来源: 互联网

标签:javascript node-js npm gruntjs bower


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

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

我们安装了什么:

> node v7.0.0(通过yum “nodesource” repository安装)
> 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'
    ]
);

和grunt 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的情况下解决问题吗?

还有this relevant issue,但是,截至目前,那里的信息对我们的案例没有帮助.

解决方法:

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

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节省了很多时间.
就个人而言,我开始使用纱线而不是传统的npm i,我可以保证它更快,并且节省你的时间,你的头脑从npm头痛.

标签:javascript,node-js,npm,gruntjs,bower
来源: https://codeday.me/bug/20190930/1834905.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有