如何将 bundle install 从默认更改为我的项目 gemfile?
How to change bundle install from default to my project gemfile?
我正在尝试将 gems 从我的 Gem 文件安装到我的项目中,但是当我执行 "bundle install" 时,捆绑程序开始安装默认的 gems,但不是我 Gem 文件中的那个。
Gem文件目录:C:\Users\ipinhei5\Desktop\Automation\napps-ANDROIDmation
见下文:
[捆绑安装默认 gems]
C:\Users\ipinhei5\Desktop\Automation\napps-ANDROIDmation>bundle install
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using CFPropertyList 3.0.0
Using to_boolean 1.0.2
Using android-adb-extension 0.1.2
Using awesome_print 1.8.0
Using backports 3.13.0
Using builder 3.2.3
Using bundler 2.0.1
Fetching byebug 11.0.1
Installing byebug 11.0.1 with native extensions
[我的项目Gem文件]:
source "https://rubygems.org"
gem "calabash-cucumber"
gem 'calabash-android'
gem 'cucumber'
gem 'rspec'
gem 'yml_reader'
gem 'rest-client'
gem 'android-adb-extension', '~> 0.1.1'
gem 'pry', '~> 0.10.4'
gem 'pry-byebug', '~> 3.4'
gem 'rubysl-rexml'
gem 'cpf_generator', '~> 1.0'
gem 'meglish', '~> 1.0', '>= 1.0.5'
gem 'pluoa-mapper', '~> 1.0', '>= 1.0.2'
你能帮我从我的 Gem 文件中安装 gem 吗?
编辑 1:我想我误解了 gems 的依赖性。
编辑 2:
我在安装 json 软件包
时遇到了一些错误
正在获取 json 2.2.0
使用本机扩展安装 json 2.2.0
Gem::Ext::BuildError:错误:无法构建 gem 本机扩展。
当前目录:
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/json-2.2.0/ext/json/ext/generator
C:/Ruby24-x64/bin/ruby.exe -I C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0 -r
./siteconf20190412-3460-119pn5l.rb extconf.rb
创建 Makefile
当前目录:
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/json-2.2.0/ext/json/ext/generator
使 "DESTDIR=" 干净
当前目录:
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/json-2.2.0/ext/json/ext/generator
让 "DESTDIR="
make failedNo such file or directory - make "DESTDIR="
Gem 个文件将保留安装在
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/json-2.2.0 进行检查。
结果记录到
C:/Ruby24-x64/lib/ruby/gems/2.4.0/extensions/x64-mingw32/2.4.0/json-2.2.0/gem_make.out
安装json (2.2.0) 时发生错误,Bundler 无法继续。
确保 gem install json -v '2.2.0' --source 'https://rubygems.org/'
在捆绑之前成功。
在Gem文件中:
calabash-android 被解析为 0.9.8,这取决于
丝瓜被解析为2.1.0,这取决于
json
它没有安装 "default" 包。它正在安装您的 Gemfile 中的软件包以及这些软件包的 dependencies。如果您发现它正在安装您未在 Gemfile 中指定的包,那是因为这些包依赖于您的 Gemfile 中的一个或多个包。
来自bundle install
documentation:
Install the dependencies specified in your Gemfile
...Bundler will fetch all remote sources, resolve dependencies and
install all needed gems.
您可以使用带有 --reverse-dependencies
标志的 gem dependency
命令来查看安装 gem 的原因。例如,在您的情况下,使用 gem dependency CFPropertyList --reverse-dependencies
来查看为什么安装了 CFPropertyList
gem。在命令输出的最底部,它会告诉您哪个包需要它作为依赖项。
您还可以在 运行 bundle install
之后检查您的 Gemfile.lock
文件,以查看您已安装的软件包列表及其依赖项。在 specs
header 下,您将看到所有已安装软件包的列表。一些包下面有一个缩进包列表。这些是包的依赖项。
例如,让我们看看为什么要安装 to_boolean
软件包:
specs:
android-adb-extension (0.1.2)
to_boolean (~> 1.0)
您的 Gemfile 中有 android-adb-extension
作为依赖项,如果我们检查 rubygem 上的 android-adb-extension 页面,我们会看到 to_boolean
它(仅)run-time 依赖。
我正在尝试将 gems 从我的 Gem 文件安装到我的项目中,但是当我执行 "bundle install" 时,捆绑程序开始安装默认的 gems,但不是我 Gem 文件中的那个。
Gem文件目录:C:\Users\ipinhei5\Desktop\Automation\napps-ANDROIDmation
见下文: [捆绑安装默认 gems]
C:\Users\ipinhei5\Desktop\Automation\napps-ANDROIDmation>bundle install
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using CFPropertyList 3.0.0
Using to_boolean 1.0.2
Using android-adb-extension 0.1.2
Using awesome_print 1.8.0
Using backports 3.13.0
Using builder 3.2.3
Using bundler 2.0.1
Fetching byebug 11.0.1
Installing byebug 11.0.1 with native extensions
[我的项目Gem文件]:
source "https://rubygems.org"
gem "calabash-cucumber"
gem 'calabash-android'
gem 'cucumber'
gem 'rspec'
gem 'yml_reader'
gem 'rest-client'
gem 'android-adb-extension', '~> 0.1.1'
gem 'pry', '~> 0.10.4'
gem 'pry-byebug', '~> 3.4'
gem 'rubysl-rexml'
gem 'cpf_generator', '~> 1.0'
gem 'meglish', '~> 1.0', '>= 1.0.5'
gem 'pluoa-mapper', '~> 1.0', '>= 1.0.2'
你能帮我从我的 Gem 文件中安装 gem 吗?
编辑 1:我想我误解了 gems 的依赖性。
编辑 2: 我在安装 json 软件包
时遇到了一些错误正在获取 json 2.2.0 使用本机扩展安装 json 2.2.0 Gem::Ext::BuildError:错误:无法构建 gem 本机扩展。
当前目录: C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/json-2.2.0/ext/json/ext/generator C:/Ruby24-x64/bin/ruby.exe -I C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0 -r ./siteconf20190412-3460-119pn5l.rb extconf.rb 创建 Makefile
当前目录: C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/json-2.2.0/ext/json/ext/generator 使 "DESTDIR=" 干净 当前目录: C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/json-2.2.0/ext/json/ext/generator 让 "DESTDIR=" make failedNo such file or directory - make "DESTDIR="
Gem 个文件将保留安装在 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/json-2.2.0 进行检查。 结果记录到 C:/Ruby24-x64/lib/ruby/gems/2.4.0/extensions/x64-mingw32/2.4.0/json-2.2.0/gem_make.out
安装json (2.2.0) 时发生错误,Bundler 无法继续。
确保 gem install json -v '2.2.0' --source 'https://rubygems.org/'
在捆绑之前成功。
在Gem文件中: calabash-android 被解析为 0.9.8,这取决于 丝瓜被解析为2.1.0,这取决于 json
它没有安装 "default" 包。它正在安装您的 Gemfile 中的软件包以及这些软件包的 dependencies。如果您发现它正在安装您未在 Gemfile 中指定的包,那是因为这些包依赖于您的 Gemfile 中的一个或多个包。
来自bundle install
documentation:
Install the dependencies specified in your Gemfile
...Bundler will fetch all remote sources, resolve dependencies and install all needed gems.
您可以使用带有 --reverse-dependencies
标志的 gem dependency
命令来查看安装 gem 的原因。例如,在您的情况下,使用 gem dependency CFPropertyList --reverse-dependencies
来查看为什么安装了 CFPropertyList
gem。在命令输出的最底部,它会告诉您哪个包需要它作为依赖项。
您还可以在 运行 bundle install
之后检查您的 Gemfile.lock
文件,以查看您已安装的软件包列表及其依赖项。在 specs
header 下,您将看到所有已安装软件包的列表。一些包下面有一个缩进包列表。这些是包的依赖项。
例如,让我们看看为什么要安装 to_boolean
软件包:
specs:
android-adb-extension (0.1.2)
to_boolean (~> 1.0)
您的 Gemfile 中有 android-adb-extension
作为依赖项,如果我们检查 rubygem 上的 android-adb-extension 页面,我们会看到 to_boolean
它(仅)run-time 依赖。