我遇到了许多平台问题,这些问题似乎与我正在运行的Cardova版本有关。
我有一个工作项目,但在使用最新版本的Cordova进行全新安装后,我的一些插件现在没有响应。我正在努力解决这些问题。
上面让我相信,为了确保有效的全新安装,我需要在package.json
文件中指定所需的Cordova版本作为依赖项。
这是最好的做法吗?还有其他人遇到过这个问题吗?
以下是我当前的系统信息:
OS: Mac OS X Yosemite
Node Version: v0.12.0
Cordova CLI: 4.1.2 Ionic
CLI Version: 1.3.19
Xcode version: Xcode 6.1.1 Build version 6A2008a
ios-sim version: 3.1.1
ios-deploy version: 1.5.0
答案 0 :(得分:0)
几乎总是最好指定您期望的包的版本,而不是'*'依赖。这样,正如您所提到的,全新安装将始终从已知的良好状态开始。这对于其他开发人员来说很重要,但也适用于全新部署!
这是轶事,但在我的团队中,我们在全新安装时对生产部署了一些更改,并且没有意识到它已更新,破坏了我们的一些代码。当我们试图追查这个问题时,它肯定会让我们陷入疯狂的几个小时。找到它需要更长的时间,因为我们在考虑更新的模块之前首先查看了我们实际更改过的代码。
我的团队没有使用它,所以我不能说太多,但请查看Node Shrinkwrap,它试图解决上述一些问题。
简而言之,我的建议是在指定版本时至少指定^
。这将允许您更新次要版本,但不能更新到主要版本。这也意味着你相信作者不会在次要版本中引入重大变化!
希望这有帮助!