SST*_*SST 26 rubygems ruby-on-rails bundler
我尝试更改默认捆绑版本,但它已更新为 2 个默认版本。如何修改为单一默认值?
$ gem list bundler
*** LOCAL GEMS ***
bundler (2.0.1, default: 1.16.6, default: 1.16.2)
Run Code Online (Sandbox Code Playgroud)
如果我执行 gem uninstall 不删除默认值,
$ gem uninstall bundler
Successfully uninstalled bundler-2.0.1
$ gem list bundle
*** LOCAL GEMS ***
bundler (default: 1.16.6, default: 1.16.2)
Run Code Online (Sandbox Code Playgroud)
如何将(如下所示)默认设置为单一版本?
bundler (2.0.1, default: 1.16.6)
Run Code Online (Sandbox Code Playgroud)
小智 27
我遇到了同样的问题,但版本较新
$ gem list bundler
*** LOCAL GEMS ***
bundler (default: 2.1.4, default: 2.1.2)
Run Code Online (Sandbox Code Playgroud)
但是按照这篇文章的指示安装了两个默认版本的 rake - 如何删除一个允许我删除一个。
您必须删除与要删除的默认 gem 对应的.gemspec文件。
所以首先,找到这些文件的位置。
# I'm running RVM to manage my Ruby versions
~/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/specifications/default/
-rw-r--r-- 1 myuser staff 10731 Dec 26 17:22 bundler-2.1.2.gemspec
-rw-r--r-- 1 myuser staff 15134 Jan 7 17:30 bundler-2.1.4.gemspec
Run Code Online (Sandbox Code Playgroud)
删除你不需要的那个。
$ rm ~/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/specifications/default/bundler-2.1.2.gemspec
Run Code Online (Sandbox Code Playgroud)
然后安装(或重新安装)要设置为默认值的 gem。
$ gem install bundler:2.1.4 --default
Successfully installed bundler-2.1.4 as a default gem
Run Code Online (Sandbox Code Playgroud)
最后,您将只安装您想要的版本。
$ gem list bundler
*** LOCAL GEMS ***
bundler (default: 2.1.4)
Run Code Online (Sandbox Code Playgroud)
yoh*_*nes 23
对于那些使用 rbenv 的人,假设您有两个默认版本
$ gem list | grep bundler
bundler (default: 2.1.4, default: 1.17.2)
Run Code Online (Sandbox Code Playgroud)
检查你的 gem 安装路径
$ gem environment
RubyGems Environment:
.
.
- INSTALLATION DIRECTORY: /home/yohanes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0
.
Run Code Online (Sandbox Code Playgroud)
转到specifications/default目录并查找 bundlers gemspec
$ cd /home/yohanes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/specifications/default
$ ls -lah
total 200K
drwxr-xr-x 2 yohanes yohanes 4,0K Jun 1 10:05 .
drwxr-xr-x 3 yohanes yohanes 20K Jun 1 10:05 ..
.
.
-rw-r--r-- 1 yohanes yohanes 16K Jun 1 10:05 bundler-1.17.2.gemspec
-rw-r--r-- 1 yohanes yohanes 15K Jun 1 09:31 bundler-2.1.4.gemspec
.
.
Run Code Online (Sandbox Code Playgroud)
删除需要删除的版本
$ rm bundler-2.1.4.gemspec
Run Code Online (Sandbox Code Playgroud)
再检查一遍
$ gem list | grep bundler
bundler (default: 1.17.2)
$ gem list bundler
*** LOCAL GEMS ***
bundler (default: 1.17.2)
Run Code Online (Sandbox Code Playgroud)
但是,如果您检查捆绑版本,您仍然会默认获得已删除的版本
$ bundler -v
Bundler version 2.1.4
Run Code Online (Sandbox Code Playgroud)
所以我们必须通过重新安装所需的 bundler 版本来覆盖它
$ gem install bundler --version '1.17.2'
Successfully installed bundler-1.17.2
Parsing documentation for bundler-1.17.2
Done installing documentation for bundler after 1 seconds
1 gem installed
Run Code Online (Sandbox Code Playgroud)
然后,如果您再次检查,它将显示您所需的版本
$ bundle -v
Bundler version 1.17.2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18719 次 |
| 最近记录: |