【问题标题】:IBM Cloud Node-RED Manage Palette doesn't install itemsIBM Cloud Node-RED Manage Palette 不安装项目
【发布时间】:2018-05-10 23:28:57
【问题描述】:

我在 IBM Cloud 上尝试从管理选项板安装 node-red-node-smooth,但出现错误。我也尝试了其他几个包。我在调试日志中得到的错误显示:

npm WARN saveError ENOENT: no such file or directory, open '/home/vcap/app/.node-red/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/home/vcap/app/.node-red/package.json'
npm WARN .node-red No description
npm WARN .node-red No repository field.
npm WARN .node-red No README data
npm WARN .node-red No license field.

+ node-red-node-smooth@0.1.0
updated 1 package in 4.726s
npm ERR! Object.entries is not a function

npm ERR! A complete log of this run can be found in:
npm ERR! /home/vcap/app/.npm/_logs/2018-05-10T15_01_53_296Z-debug.log

日志文件有一个堆栈跟踪,以此开头:

106 verbose stack TypeError: Object.entries is not a function

有什么明显的我做错了吗?

【问题讨论】:

    标签: ibm-cloud node-red


    【解决方案1】:

    最近几天部署的实例获得了npm 6.0.0。此版本的npm 包含导致Object.entries is not a function 错误的错误。

    npm 发布了6.0.1,今天(2018 年 5 月 10 日星期四)修复了这个问题

    您有三种可能的方法来修复您的实例:

    1. 部署一个新实例并复制您的流程
    2. 或者,将 NPM_CONFIG_AUDIT 环境变量* 设置为 false - 这会阻止 npm 6.0.0 沿着包含错误的代码路径向下移动。
    3. 或者,将 NODE_MODULE_CACHE 环境变量* 设置为 false 并触发应用程序的重新启动 - 这将安装 npm 6.0.1。

    如果此时您没有太多的流方式,删除并创建一个新实例是最简单的选择。

    如果您想“修复”现有实例,选项 2 可能是最简单的,因为它只需要自动重启应用程序,而不是需要手动触发 cf 命令行工具的重新启动。

    要在 IBM Cloud 应用程序中设置环境变量,请转至应用程序的仪表板页面。转到左侧导航中的运行时部分。在顶部的选项卡中选择“环境变量”,然后向下滚动到页面的“用户定义”部分。单击“添加”-输入环境变量详细信息,然后单击“保存”。您的应用将使用变量集重新启动。

    【讨论】:

    • 那么当npm install npm@latest 因为这个错误而无法工作时,更新 npm 的最佳方法是什么?
    • NPM_CONFIG_AUDIT环境变量设置为false,然后运行npm install命令更新npm。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多