问题标签 [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.
ruby-on-rails - Ruby on Rails 中的 Gemfile 和 Gemfile.lock 有什么区别
我是 Ruby on Rails 的初学者,我正在使用 Rails 3.0.9。
Gemfile
Rails和Rails有什么区别Gemfile.lock
?
ruby - 了解 Gemfile.lock 文件
运行bundle install
命令后,在工作目录中创建了“Gemfile.lock ”。该文件中的指令是什么意思?
例如,让我们采用以下文件:
“ PATH ”、“ GEM ”、“ PLATFORMS ”和“ DEPENDENCIES ”描述了什么?都是必需的吗?
什么应该包含 ' remote ' 和 ' specs ' 子指令?
' DEPENDENCIES '组中gem名称后的感叹号是什么意思?
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 规范做类似的事情?
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:
ruby-on-rails - Rails Gemfile.lock
我在我的Gemfile
然后bundle install
在我的本地机器上运行。这创造了一个Gemfile.lock
包含薄的。我将此文件签入到 repo 并推送到 Heroku。通常我unicorn
在生产中使用服务器。但是当这个版本的 Gemfile 被推送到 Heroku 时,应用程序崩溃说command thin not found
.
我不明白为什么只包含在开发组中的 gem 会影响我的生产部署。什么是仅在开发中包含 gem 但不影响 Heroku 生产部署的正确方法?
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 中指定了它(见上文),
ruby-on-rails - Heroku 应用程序错误 - Gemfile.lock?
写完之后,我一直在 Heroku 网站上遇到应用程序错误git push heroku master
。这和这个有关系吗?:
警告:删除“Gemfile.lock”,因为它是在 Windows 上生成的。Bundler 将进行完整解析,以便正确处理原生 gem。这可能会导致在您的应用程序中使用意外的 gem 版本。在极少数情况下,Bundler 可能根本无法解决您的依赖关系。
如果是这样,我该如何解决?
提前致谢
ruby-on-rails - 如何指定 Gemfile 以便它不会安装特定版本的 gem
我是 ruby 新手,我正在尝试为rack
. 我想1.4.5
安装和1.5.2
删除,我做到了
,并在文件中指定了togem uninstall rack --version 1.5.2
的版本号。rack
1.4.5
Gemfile.lock
但是今天早上起床后发现rack 1.5.2
又自动安装回来了,而且rack
in的版本Gemfile.lock
被重置为1.5.2
. 如何指定配置以使机器不会自动执行上述操作?
heroku - 如何使用包含在 .gitignore 中的 Gemfile.lock 推送到 Heroku
Gemfile.lock
包含在.gitignore
. 这是开发人员之间的协议,应该保持不变。有没有办法将代码推送到 Heroku?或者您可能会建议一些不使用 Git 部署应用程序的 Ruby 托管?
ruby - 如何在尚未添加到 gem 的 ruby 库中包含提交?
具体来说,此提交已合并到 mongomapper master 以修复导致我的应用程序崩溃的错误:
https://github.com/mongomapper/mongomapper/pull/572
但是,它还没有在新的 gem 中发布。是否可以过早地包含它,或者我必须等到它发布?我在 heroku 上使用指定版本的 Gemfile.lock。
我的 gemfile.lock 当前显示: