IBM Bluemix Cloud:适用于Node.js的IBM SDK - Bluemix中的应用程序是否可以保留现有版本而无需自动更新?

时间:2017-01-09 21:00:52

标签: javascript node.js ibm-cloud ibm-cloud-tools ibm-cloud-plugin

我们尝试通过运行
来测试IBM Bluemix Cloud和Watson Cloud 我们的帐户中有几个Watson Cloud演示node.js应用程序 注意到以下情况:

我们在我们的帐户中安装了演示应用程序后,它运行没有问题;因为我还没有在Bluemix DevOps工具中打开这个应用程序。所以,当这个应用程序 每次运行时,此应用程序基于 staging_task.log 文件执行以下操作:

 "" Installing IBM SDK for Node.js (4.5.0)from cache"""" 

上面的app前端js代码是为了使用这个SDK和Node.js版本而编写的。

#稍后,我在我们的帐户中制作了上述演示应用的另一个副本。它运行没有问题。   然后,我刚刚在Bluemix DevOps工具中打开了上面的应用程序代码并保存了   文件没有触及任何代码。然后,这个版本的应用程序   不跑。

我们的调查显示以下内容:

  • staging_task.log 文件显示了以下事实:上述步骤之后的此版本应用现在执行此操作:
    """从缓存"""安装IBM SDK for Node.js(4.6.2)

    这意味着在上述步骤之后,Bluemix Cloud会自动使用较新版本的Node.js和SDK。

我们在实验中发现的另一种情况也可能与此问题有关:

*我们在2016年8月左右部署了以下Watson演示应用程序,我们还没有重新保存此应用程序中的任何文件,因此我们猜测这个演示     应用程序仍然在缓存的运行环境(IBM SDK for Node.js)中运行     在我们的Bluemix帐户中的第4节??这个演示应用程序运行得很快     并正确地在我们的帐户中。     https://github.com/watson-developer-cloud/conversation-simple

*完成上述部署后,Bluemix Cloud和Watson Cloud进行了多次升级。 Run Environment很多都包含IBM SDK     for Node.js Verson 6 ??

*上个月,我们在帐户中部署了上述相同的演示应用。我们发现这个相同的应用程序比上面的2016年8月部署运行速度慢得多。我们的猜测是,这个演示应用程序代码是基于IBM SDK for Node.js Verson 4设计的。

以下Q支持我们的观点:Bluemix Cloud或Watson Cloud中针对Node.js的自动升级IBM SDK

在此问题中引起了问题。现在,Bluemix Cloud中的Node.js的IBM SDK可能是版本6,此应用程序可能基于IBM SDK for Node.js Verson 4进行设计(此版本不是Node.js在Package.json中的版本,但是 IBM SDK版本) IBM Bluemix node.js native promise support

我们的问:

- 为什么上面的SDK和Node.js会自动升级?
- 在我们决定升级之前,我们如何强制此演示应用程序使用相同版本的 IBM SDK 和Node.js Bluemix Cloud?因此,要确保我们现有的应用程序正常运行。

任何想法和建议都将受到赞赏。

2 个答案:

答案 0 :(得分:3)

您可以在package.json

中定义node和npm版本
{
   "name":"iot-html5-phone",
   "version":"0.0.1",
   "scripts":{
      "start":"node app.js"
   },
   "dependencies":{

   },
   "engines":{
      "node":"0.10.26"
   }
}

答案 1 :(得分:0)

使用:

"engines":{
   "node":"4.5.0"
}

(没有插入或倾斜)