2017-09-05 46 views
0

编辑后的gem文件与我正在处理的应用程序位于同一个文件夹中。路径是/Users/name/Ruby/Instagram。我需要安装它,但我不能仅仅使用gem 'gem_name' install,因为它会从GitHub安装通用版本。我怎样才能让它安装我刚做出的更改?如何重定向gem文件安装

此外,我正在使用RVM,无法进入.rvm文件只是拖放。

回答

0

有几种可能性:

你可以给宝石一个不同的名字。

你可以给gem一个比原来版本更高的版本号,那么它会被首选......直到原作者发布更高版本。

您可以设置自己的存储库并将其置于搜索列表中(如果您想制作私有宝石,这通常是一个好主意)。再说一遍,这只有在你的版本号至少和官方版本一样高时才有效。

您可以简单地将路径传递到gem文件至gem install。但是,再次,这只会在原作者发布一个数量大于你的版本时才有效。

+0

我该如何将这个路径(你的意思是什么)传递给gem文件到'gem install' ......它会选择我所做的更改吗? – marriedjane875

+0

'gem install/path/to/your.gem'。 –

+0

我要尽快尝试这个 – marriedjane875

0

这里是我的设置: 每当我编辑我编辑好的gem版本或者想将它加载到应用程序中时,我会做RAILS_ENV=development bundle install,当我想要实时版本时,我会进行捆绑安装。

你需要的版本不同,即使补丁版本1.0.0到1.0.1也能正常工作,所以bundle会用正确的路径更新.lock文件。

version = '0.1.0' 
if ENV['RAILS_ENV'] == 'development' 
    gem 'lorem', version, path: "/home/#{ENV['USER']}/work/lorem" 
else 
    gem 'lorem', version, git: '[email protected]:ipsum/lorem.git' 
end 

为了简化,只让你的本地版本,你可以做这样的事情:

gem 'lorem', 0.1.1, path: "/Users/#{ENV['USER']}/Instagram/gem_folder/" 

,那么你改变创业板的版本,从现场一个是不同的,并且运行bundle install