问题标签 [multiple-versions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
1004 浏览

php - 处理同一 URL 中的多个版本

我要做的是处理同一个 Web 应用程序的多个版本,有点像 Google 对他们的一些产品所做的那样,您可以在其中获得“尝试新版本”链接。

目标是同时拥有 webapp 的“稳定”和“beta”版本,并让用户在不强迫他们(和他们的错误)的情况下尝试新功能。

现在,一个非常简单的方法是将每个版本放在自己的子文件夹中,例如 www.mywebapp.com/v1 和 www.mywebapp.com/v2。

但是,我希望这对用户是透明的,并且 webapp URL 保持不变(例如:www.mywebapp.com/)。

必须加载哪个版本在用户登录后由服务器端确定(例如:给定用户的活动版本存储在数据库中),并且可能稍后在用户单击“尝试新版本”/“开始”时更改返回旧版本”链接。

在服务器端,我必须使用 MySQL、PHP 和 Apache。

我已经设法将每个版本放入其自己的子文件夹中,然后将版本信息存储在 cookie 中(由服务器在每次登录或页面刷新时更新)并使用 RewriteRule(s) 来“代理”来自基本/无版本的请求正确子文件夹的 URL。如果未设置 cookie,则备用 RewriteRule 会选择默认文件夹。

这个 kludge 有效,但感觉非常脆弱,它给 Apache 守护进程带来了额外的负担,所以我在这里问是否有人知道这样做的更好方法。

谢谢!

0 投票
1 回答
1587 浏览

iphone - 制作同一个应用程序的两个版本 - 精简版和专业版

我们有一个由 AdWhirl 赞助的应用程序版本 (Moonrise),并希望提供 0.99 美元的无广告版本。

出于维护原因,我想要一个应用程序,我只需更改几个#defines 即可打开和关闭广告。

但是我如何编译成两个不同的“应用程序包”,可以这么说,它们具有不同的名称和包标识符?

我想我只是在尝试之前要求进行单挑,如果有我应该考虑的问题。另外,如果有更简单的方法,我想知道(因为这在开发人员中应该很常见)。

计划是

  1. 创建一个包标识符,在 -info.plist 中更改它
  2. 使用新名称创建新应用,更改捆绑显示名称和图标
  3. 做一个#define 或类似的不显示广告
  4. 上传到应用商店

我错过了什么吗?

0 投票
2 回答
3058 浏览

ruby-on-rails - 如何在同一台机器上使用多个版本的导轨

我在我的机器上安装了 rails 3.0.10 和 2.3.5。我想在它们之间洗牌,但我无法使用 2.3.5。当我运行命令时,系统只识别 3.0.10。

0 投票
3 回答
5256 浏览

python - Python 部署的最佳实践——多个版本、标准安装位置、打包工具等

关于这个问题的不同方面的许多帖子,但我还没有看到一篇将所有内容整合在一起的帖子。

首先是一个主观的陈述:当我们离开解释器并开始处理部署问题时,我们在使用 Python 语言时所体验到的简单性似乎被粉碎了。如何最好地在同一台机器上拥有多个版本的 Python?软件包应该安装在哪里?Disutils vs. setuptools vs. pip 等。在部署方面,Python 的 Zen 似乎被严重滥用了。我感觉到 Windows 上的“DLL 地狱”体验令人毛骨悚然。

专家们是否就这些问题达成了某种程度的最佳实践?

您是否在同一台机器上运行多个版本的 Python?您如何保持对它们可以共存的信心——并且新版本不会破坏其他依赖于早期版本(例如操作系统供应商提供的脚本)的进程的假设?这安全吗?virtualenv 够用吗?

本地文件系统上 Python 环境的不同组件(包括 3rd 方包)的位置的最佳选择是什么?许多不同版本的 Unixy 和 Windows 操作系统的位置之间是否存在严格或粗略的对应关系?

还有沼泽中最阴暗的角落——你使用什么安装工具(setuptools、distutils、pip 等),它们是否能很好地满足你的选择:文件位置、Python 虚拟环境、Python 路径等。

这些听起来像是很难的问题。我希望经验丰富的 Pythonistas 可能已经为这些挑战定义了一种(或两种)规范方法。任何“挂在一起”作为一个可以放心使用的系统的方法(感觉不像是单独的、不相关的工具)都会非常有帮助。

0 投票
2 回答
731 浏览

eclipse - 支持多个版本的 Eclipse

我有一个 Eclipse 插件,我的目标是 3.1 或 3.2 作为支持的最低版本。问题是我的一些代码仅适用于 3.5 及更高版本(请参阅我的另一个问题:在 Eclipse 中是否有替代 CaretListener 的方法?)。

既然我有在旧版本中工作的代码和在新版本中工作的不同代码,有没有一种方法可以让我只有在我的插件在 3.5 或更高版本中运行然后恢复到旧代码时才能调用新代码如果运行更旧的东西?

作为测试,我创建了两个具有相同类的插件(只是做的事情略有不同)。我在一个插件中将org.eclipse.ui依赖项标记为至少 3.5,在另一个插件中标记为至少 3.1,但我无法在旧版本中忽略依赖 3.5 的那个...

任何人都可以帮忙吗?

谢谢,艾伦

0 投票
1 回答
3003 浏览

gcc - /usr/include 文件(例如 string.h)如何与 gcc 版本相关?

我有一个带有 Eclipse-CDT Indigo 的 Kubuntu 11.10 系统。gcc-4.6 与 Eclipse 一起安装。我已经通过 Ubuntu 软件包安装了 gcc-4.4 和 gcc-4.2。

我可以将 /usr/bin/gcc 符号链接切换到 4.4 或 4.6,Eclipse 以任何一种方式构建我的代码。但是,当我将符号链接设置为使用 gcc-4.2 时,出现以下错误(以及更多错误):

因此,我在 /usr/include 中的 string.h 似乎期望 __BEGIN_DECLS 由编译器特定包含之一定义。

/usr/include/string.h 来自 libc6-dev 包,它似乎没有编译器特定的版本。我希望包系统能够处理这个问题并安装所有正确版本的东西。

我已经阅读了多个版本的 GCC 的 GNU 文档,但他们没有说任何关于包含文件/目录的内容。

我在这里做错了什么?

0 投票
4 回答
1082 浏览

android - 如何实现多个 Android 版本以使用不同的库?

我知道关于免费/付费版本的多个 Android 版本存在很多问题,但这可能会有所不同。

我的应用目前使用 AdMob 进行广告宣传,它已在 Android Market 和 Samsung App Store 上发布。不幸的是,三星商店将来会要求每个人都迁移到自己的广告网络,三星 AdHub。AdMob 和 AdHub 都有自己的库和 SDK。

我正在寻找一种解决方案来构建 2 个不同的版本,一个包括 AdMob,另一个包括 AdHub(以及所有必要的代码)。当需要发布新版本时,我有什么解决方案可以轻松构建 2 个版本而没有太多麻烦?

许多解决方案建议将主项目移动到库项目中,然后构建包括库项目(基础项目)的其他 2 个应用程序。但我不太喜欢这种解决方案(如果可能,我更喜欢将我的应用程序保留在一个项目中),我正在尝试寻找替代方案,然后决定哪一个更适合我的需求。

0 投票
3 回答
150278 浏览

python - 如何 pip 安装具有最小和最大版本范围的软件包?

我想知道是否有任何方法可以告诉 pip,特别是在需求文件中,安装一个具有最低版本(pip install package>=0.2)和永远不应安装的最高版本(理论 api:)的包pip install package<0.3

我问是因为我正在使用一个正在积极开发的第三方库。我希望我的 pip 要求文件指定它应该始终安装 0.5.x 分支的最新次要版本,但我不希望 pip 尝试安装任何较新的主要版本(如 0.6.x),因为API是不同的。这很重要,因为即使 0.6.x 分支可用,开发人员仍在向 0.5.x 分支发布补丁和错误修复,所以我不想package==0.5.9在我的需求文件中使用静态行。

有没有办法做到这一点?

0 投票
2 回答
2278 浏览

plugins - Aptana studio3 Eclipse 插件安装过程在特定条件下失败 - 要遵循的正确过程是什么

我首先使用 Aptana studio 2 插件安装了 Eclipse。

后来我会测试 studio3 并单独安装。

现在我希望从 studio 2 迁移到 3(非常少的项目)插件,从 2 和 3 个工作区版本导入项目。

我已按照说明进行操作,但可能错过了一些或几件事。

我收到了这么长的错误信息

enter code hereCannot complete the install because of a conflicting dependency. Software being installed: Aptana Studio 3 Plugin 3.0.7.201112281220-7E37K7HFGJHQUdGP8W_Iz0Jitq7M (com.aptana.feature.studio.feature.group 3.0.7.201112281220-7E37K7HFGJHQUdGP8W_Iz0Jitq7M) Software currently installed: Aptana Studio 2.0.5.1278522500-5-7857HJ97CFF61HN1HZHtem5tN7 (com.aptana.ide.feature.studio.feature.group 2.0.5.1278522500-5-7857HJ97CFF61HN1HZHtem5tN7) Only one of the following can be installed at once: Aptana SecureFTP Library 2.0.2.1277398033-3-123884A9144 (com.aptana.ide.feature.libraries.subscription.feature.jar 2.0.2.1277398033-3-123884A9144) Aptana SecureFTP Library 2.0.2.1317770565-3-12428881676 (com.aptana.ide.feature.libraries.subscription.feature.jar 2.0.2.1317770565-3-12428881676) Cannot satisfy dependency: From: Aptana Studio 3 Core 3.0.7.1325099706-BJ7F8LBTDuY5meBG31DC34EVnIM5 (com.aptana.feature.feature.group 3.0.7.1325099706-BJ7F8LBTDuY5meBG31DC34EVnIM5) To: com.aptana.ide.feature.libraries.subscription.feature.group [2.0.2.1317770565-3-12428881676] Cannot satisfy dependency: From: Aptana Studio 3 Plugin 3.0.7.201112281220-7E37K7HFGJHQUdGP8W_Iz0Jitq7M (com.aptana.feature.studio.feature.group 3.0.7.201112281220-7E37K7HFGJHQUdGP8W_Iz0Jitq7M) To: com.aptana.feature.feature.group [3.0.7.1325099706-BJ7F8LBTDuY5meBG31DC34EVnIM5] Cannot satisfy dependency: From: Aptana SecureFTP Library 2.0.2.1277398033-3-123884A9144 (com.aptana.ide.feature.libraries.subscription.feature.group 2.0.2.1277398033-3-123884A9144) To: com.aptana.ide.feature.libraries.subscription.feature.jar [2.0.2.1277398033-3-123884A9144] Cannot satisfy dependency: From: Aptana SecureFTP Library 2.0.2.1317770565-3-12428881676 (com.aptana.ide.feature.libraries.subscription.feature.group 2.0.2.1317770565-3-12428881676) To: com.aptana.ide.feature.libraries.subscription.feature.jar [2.0.2.1317770565-3-12428881676] Cannot satisfy dependency: From: Aptana SecureFTP Support 2.0.4.1278035782-77-7878BQS8KNJOC040234995BA2 (com.aptana.ide.feature.secureftp.feature.group 2.0.4.1278035782-77-7878BQS8KNJOC040234995BA2) To: com.aptana.ide.feature.libraries.subscription.feature.group [2.0.2.1277398033-3-123884A9144] Cannot satisfy dependency: From: Aptana Studio 2.0.5.1278522500-5-7857HJ97CFF61HN1HZHtem5tN7 (com.aptana.ide.feature.studio.feature.group 2.0.5.1278522500-5-7857HJ97CFF61HN1HZHtem5tN7) To: com.aptana.ide.feature.secureftp.feature.group [2.0.4.1278035782-77-7878BQS8KNJOC040234995BA2]

我的问题是: 在描述的过程中,工作室2和3可以正常安装并同时使用。自然的限制是:不要在同一个项目上同时使用两者......

  • 单独安装studio3和插件时确实存在问题吗?如果是如何解决它:“原理”?
  • 如果我想单独迁移到插件,如何导入需要将项目从 studio3 单独工作区导入到 studio3 插件工作区的项目操作。如果我必须在安装 studio3 之前卸载到当前安装,我怎么能保留他的工作区以供以后导入。这似乎不是正确的方法,但更好地解决了依赖问题。

那么,如何满足依赖关系呢?如何安装 3 个版本并在导入后执行我想要的操作。

谢谢

高音


我不想重新安装所有 Eclipse,因为我想要并且需要安装 studio3。

我在“迁移”中读到

迁移项目 Aptana Studio 2 和 Aptana Studio 3 具有不同的工作区,因此您可以同时使用这两个产品。为了在 Aptana Studio 3 中使用项目,您需要将项目从一个工作区导入到另一个工作区。不建议同时在 Studio 2 和 Studio 3 中编辑项目。一旦您导入项目,建议您坚持使用 Studio 3 进行编辑。>

因此,在已经安装了 sudio2 并且从正确的工作区导入我们想要继续使用 studio3 的 studio2 项目之后,似乎可以将 studio3 插件安装到 Eclipse 中。

这是我想要做的,因为它在文档中有所描述。

0 投票
2 回答
524 浏览

jquery - 拥有多个版本的 Jquery

好的,我刚开始的网站使用 jquery 1.4.min 来运行我从网站上下来的动态页面更换器。它还使用 1.6.2 来运行照片滑块,我也从另一个站点下车。我希望两者都工作,但它不会让我。一些人告诉我只使用一个版本的 jquery(最新),但这不起作用,其他人都说使用:

并将所有 $ 替换为 $jq。首先,我不知道我是否也替换了 min.js 文件中的所有 $ 或者只是函数。无论哪种方式,我都尝试了,但它仍然没有工作。这是一个指向我的网站的链接。http://envycosmetics.zxq.net/Website/webpages/index.html

在我的网站中,动态页面加载器工作正常,但滑块不工作