问题标签 [gemfile.lock]

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 投票
3 回答
63406 浏览

ruby-on-rails - Ruby on Rails 中的 Gemfile 和 Gemfile.lock 有什么区别

我是 Ruby on Rails 的初学者,我正在使用 Rails 3.0.9。

GemfileRails和Rails有什么区别Gemfile.lock

0 投票
7 回答
118017 浏览

ruby - 了解 Gemfile.lock 文件

运行bundle install命令后,在工作目录中创建了“Gemfile.lock ”。该文件中的指令是什么意思?

例如,让我们采用以下文件:

PATH ”、“ GEM ”、“ PLATFORMS ”和“ DEPENDENCIES ”描述了什么?都是必需的吗?

什么应该包含 ' remote ' 和 ' specs ' 子指令?

' DEPENDENCIES '组中gem名称后的感叹号是什么意思?

0 投票
1 回答
1136 浏览

ruby - 在 Gemfile.lock 中管理冲突的依赖项

在我的 gemspec 文件中:

  • 我有一个名为 zconfig 的 gem 依赖项,它明确需要 net-ssh 版本 2.6.8
  • 我也在使用 net-sftp,它又需要 net-ssh 版本 >= 2.6.5

当 I 时bundle install,bundler 足够聪明,可以识别两个 gem 的需求,并正确地将 2.6.8 识别为要安装的 net-ssh 版本。

到目前为止,在远程服务器上进行测试时,我一直在克隆项目并安装这些 gem,bundle install --deployment然后使用本地安装的供应商 gem 运行项目bundle exec ..

但是,我现在已经完成了开发,我已经将项目打包为 gem 并将其安装在远程服务器上。问题是执行 gem 时,ruby 不符合我的 Gemfile.lock 规范并使用 net-ssh 2.7.0,这会导致冲突:

bundle exec my_gem有没有办法使用 Gemfile.lock 规范做类似的事情?

0 投票
4 回答
13067 浏览

ruby-on-rails - 是否需要删除 Gemfile.lock?

我在 Ubuntu 10.04 上,我必须推送到 Heroku 的应用程序有一个 Gemfile.lock,这个应用程序是由另一个程序员开发的。

当我使用bundle install命令时,这会安装必要的 gem 来运行应用程序rails s

是否bundle install在我的 Gemfile 或 Gemfile.lock 中获取特定的宝石?

我的 Gemfile 和 Gemfile.lock 不一样。

我必须删除 Gemfile.lock 吗?

这是我的 Gemfile:

这是我的 Gemfile.lock:

0 投票
1 回答
88 浏览

ruby-on-rails - Rails Gemfile.lock

我在我的Gemfile

然后bundle install在我的本地机器上运行。这创造了一个Gemfile.lock包含薄的。我将此文件签入到 repo 并推送到 Heroku。通常我unicorn在生产中使用服务器。但是当这个版本的 Gemfile 被推送到 Heroku 时,应用程序崩溃说command thin not found.

我不明白为什么只包含在开发组中的 gem 会影响我的生产部署。什么是仅在开发中包含 gem 但不影响 Heroku 生产部署的正确方法?

0 投票
0 回答
627 浏览

ruby - Openshift找不到宝石

我正在尝试将一个简单的应用程序部署到包含“Ruby 1.9”和“PostgreSQL 9.2”包的设备上。部署似乎成功。当我将浏览器指向服务器时,我得到一个乘客“Ruby(Rack)应用程序无法启动”,并显示错误消息“Could not find rake-0.9.6 in any sources (Bundler::GemNotFound)”。SSH 和“gem install”没有帮助(gem 已安装,但没有安装在 Passenger 可以找到的位置 - 我无法将其移动到 Passenger 想要的位置,因为我没有 root 权限)。根据Root 权限在 Openshift 上安装 ruby​​ gems,gem 需要在我的 Gemfile.lock 中指定。我这样做了,但没有帮助。这是我的 config.ru:

这是我的 Bundle.lock:

当我通过“rackup”在我的笔记本电脑上启动它时,这个例子运行良好。我也可以将它部署到 Dokku 中。该代码没有明确引用 Thin(这是我想使用的,但我不介意乘客)。

我还尝试使用“高级 Ruby 墨盒”,并指定 Thin(“rhc env set OPENSHIFT_RUBY_SERVER=thin -a app_name”)。这一次,推送导致“CLIENT_ERROR: Failed to execute: 'control build'”,对“--trace”提出无益的建议(“gem push”不接受)。“gear postreceive --trace”的 ssh 执行似乎挂起(在 OS X 上),直到我按下一个键,然后我得到一个客户端堆栈跟踪。当我从控制台重新启动应用程序时,我得到“无法完成请求的操作”和“[31mbundler: command not found: thin start -C ...”。这很奇怪,似乎 Thin 打算包含在此墨盒中。无论如何,我确实在 Gemfile.lock 中指定了它(见上文),

0 投票
0 回答
93 浏览

ruby-on-rails - Heroku 应用程序错误 - Gemfile.lock?

写完之后,我一直在 Heroku 网站上遇到应用程序错误git push heroku master。这和这个有关系吗?:

警告:删除“Gemfile.lock”,因为它是在 Windows 上生成的。Bundler 将进行完整解析,以便正确处理原生 gem。这可能会导致在您的应用程序中使用意外的 gem 版本。在极少数情况下,Bundler 可能根本无法解决您的依赖关系。

如果是这样,我该如何解决?

提前致谢

编辑: http: //gyazo.com/bc40680795ac3d7c7134fcf84d97c4a1

0 投票
1 回答
166 浏览

ruby-on-rails - 如何指定 Gemfile 以便它不会安装特定版本的 gem

我是 ruby​​ 新手,我正在尝试为rack. 我想1.4.5安装和1.5.2删除,我做到了 ,并在文件中指定了togem uninstall rack --version 1.5.2的版本号。rack1.4.5Gemfile.lock

但是今天早上起床后发现rack 1.5.2又自动安装回来了,而且rackin的版本Gemfile.lock被重置为1.5.2. 如何指定配置以使机器不会自动执行上述操作?

0 投票
2 回答
207 浏览

heroku - 如何使用包含在 .gitignore 中的 Gemfile.lock 推送到 Heroku

Gemfile.lock包含在.gitignore. 这是开发人员之间的协议,应该保持不变。有没有办法将代码推送到 Heroku?或者您可能会建议一些不使用 Git 部署应用程序的 Ruby 托管?

0 投票
2 回答
33 浏览

ruby - 如何在尚未添加到 gem 的 ruby​​ 库中包含提交?

具体来说,此提交已合并到 mongomapper master 以修复导致我的应用程序崩溃的错误:

https://github.com/mongomapper/mongomapper/pull/572

但是,它还没有在新的 gem 中发布。是否可以过早地包含它,或者我必须等到它发布?我在 heroku 上使用指定版本的 Gemfile.lock。

我的 gemfile.lock 当前显示: