提问人:Leo 提问时间:4/24/2018 最后编辑:Leo 更新时间:7/2/2019 访问量:8561
Node.js 版本和谷歌云函数
Node.js version and Google Cloud functions
问:
当我使用以下命令启动本地 Firebase 服务器时,我收到此消息:firebase serve
警告:您使用的是 Node.js v8.9.4,但 Google Cloud Functions 仅支持 v6.11.5。
但是没有关于该怎么做的信息。我需要做什么才能将 Node.js 降级到 v6.11.5?我是否应该仅将该版本用于 Firebase 项目,而将最新版本的 Node.js 用于其他项目?在这种情况下,我该怎么做?
编辑:警告现在看起来像这样,我无法运行一个新的几乎为空的项目:
Warning: You're using Node.js v8.9.4 but Google Cloud Functions only supports v6.11.5.
! functions: Failed to load functions source code. Ensure that you have the latest SDK by running npm i --save firebase-functions inside the functions directory.
! functions: Error from emulator. mod.hasOwnProperty is not a function
所以我真的认为我必须降低 Node.js。但我不知道如何安全地做到这一点。嗯,看看 http://nodejs.org/ 我什至找不到 v6.11.5 版本?
编辑2:如果解决了问题,则刚刚签入新项目。(实际上没有更新的软件包。npm update --dev
答:
这只是一个警告。如果你知道自己在做什么,你可以忽略它。它告诉您,函数的本地仿真(在节点 8.9.4 上运行)可能与该函数部署到 Cloud Functions(运行 6.11.5)时将执行的操作不完全匹配。但是,只要您不使用节点 6.11.5 上不可用的任何节点功能,就不会有问题。我一直使用较新版本的节点进行本地测试,没有问题。
评论
您可以使用 GitHub 故障排除指南中提供的命令卸载并重新安装 Cloud Functions 模拟器和 Firebase 工具。由于您使用的是 Firebase,因此请按照“Firebase 工具”的说明进行操作。
评论
n
node
sudo n stable
sudo n 4.4.2
sudo npm install -g n
n
这个问题的答案中列出了几种工具
对于 Windows,我刚刚成功地使用 nvmw 来完成相同的任务。
Node v8 现在可用于云函数:https://firebase.googleblog.com/2018/08/cloud-functions-for-firebase-config-node-8-timeout-memory-region.html
所以我相信这个警告真的可以忽略不计......
安装 nvm. 只需使用此命令即可 “NVM install 8.9.1 64bit”您可以根据您的系统配置使用此处的任何版本或64bit 32bit 安装后使用 “NVM 使用 8.9.1”
评论