번들 설치가 공급 업체 / 번들에 gem을 설치하는 이유는 무엇입니까?
bundle install
모든 보석을 설치할 때마다
app_dir/vendor/bundle
경로를 사용하고 디스크 공간을 많이 사용합니다. 나는 또한 이것에 의해 개발하는 동안 gemsets를 설치 해야하는 곳에 gem을 설치하려고 시도했습니다.
bundle install --no-deployement
하지만 이것은 나를 위해 작동하지 않고 vendor/bundle
. 모든 응용 프로그램 또는 루비 gemsets 위치에 전역 적으로 설치되도록하려면 어떻게해야합니까? 나는 또한 제거를 시도 .bundle/config
했지만 아무것도 바뀌지 않았습니다.
나는 사용하고있다 :
rvm version: 1.23.14
ruby version: 2.0.0-p247
rails 3.2.13
여기 내 ~/.bash_profile
:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
eval "$(rbenv init -)"
alias pg='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log'
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
내 ~/.bashrc
:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
필요한 기타 정보 :
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which bundle
/Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/bundle
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which bundle
/Users/aman/.rbenv/versions/2.0.0-p247/bin/bundle
amandeep@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which ruby
/Users/aman/.rbenv/versions/2.0.0-p247/bin/ruby
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv gemset active
rbenv: NO such command `gemset'
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which rails
/Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/rails
나는 이것을 시도했지만 도움이되지 않았습니다.
bundle install --system
및 .bundle
디렉토리 제거 .
gemsets가 아닌 vendor/bundle
기본 위치에 gem을 설치하도록 도와주세요 .
프로젝트에서 당신은해야합니다 폴더 .bundle
에 대한 구성을 보유하고 디렉토리를 bundler
. 해당 폴더를 삭제 해보십시오. gem의 설치 경로를 시스템 전체 설정으로 재설정해야합니다.
설치 경로 만 편집하려는 경우 .bundle/config
선호하는 편집기로 열면 에 대한 경로가 표시됩니다 vendor/bundle
. 해당 줄을 제거하면 다른 구성을 제거하지 않고 기본값으로 복원합니다.
또한 덜 빈번한 또 다른 시나리오는 시스템 전체 설정이 엉망이되는 것입니다. @NaoiseGolden에 따르면 :
.bundle
내 홈 폴더 (rm -rf ~ / .bundle)에서 삭제해야했습니다 . 실행중인 구성을 확인할 수 있습니다.bundle env
다음을 사용하여 설치해보십시오.
bundle install --system
처음에는 번들 설치가 --path
플래그 로 실행 되었고 이제 번 들러가 해당 구성을 기억한다고 생각합니다.
번 들러 매뉴얼 페이지에서
일부 옵션은 번들 설치 호출 사이와 Bundler 런타임에서 기억됩니다.
번들 설치에 대한 후속 호출은 원래 --path에 전달 된 디렉토리에 gem을 설치 합니다. Bundler 런타임은 해당 위치에서 gem을 찾습니다. bundle install --system 을 실행하여이 옵션을 되돌릴 수 있습니다 .
편집 : 아래 주석에서 언급했듯이, 그렇지 않으면 시스템 전체에 보석이 설치됩니다. rvm 등을 사용하여 다른 앱의 환경을 관리하는 경우위에서 언급 한 @IuriG의 답변을 확인하십시오.
bundle env
경로 및 번들 구성을 보는 데 사용다음
~/.rvm/gems/ruby-2.0.0-p247
과 같이 번들 경로를 설정 하십시오.bundle install --path ~/.rvm/gems/ruby-2.0.0-p247
이는 전역 적이며 고유 한 사용자 지정 경로를 사용할 수도 있습니다.
Post this
bundle install
will never needpath
again and will always install all of your gems in thatdirectory(~/.rvm/gems/ruby-2.0.0-p247 in my case
) for that app not inapp_folder/vendor/bundle
Try running bundle env
. This will tell you where the path configuration is set.
First of all, acording to your info, it seems that you have installed both rvm and rbenv. Thats a very bad idea. You have to delete one of them (rbenv + bundler works like a charm for me, didnt try rvm).
In regard to your question check .bundle/config
in your project, as all the configuration for bundle to that project lies there (if its still deleted, you can create a new one). You migh want to add this line (or change it, if its already there): BUNDLE_DISABLE_SHARED_GEMS: '0'
for sharing gems, they go where your BUNDLE_PATH:
is set (BUNDLE_PATH: vendor
in my case).
For the global configuration file look in ~/.bundle/config
Also this man page could be of use: bundle config
To Install Gem in system wide avoiding path vendor/bundle, just run the following command in project directory
bundle install --system
ReferenceURL : https://stackoverflow.com/questions/19961821/why-bundle-install-is-installing-gems-in-vendor-bundle
'programing' 카테고리의 다른 글
Google OAuth2 사용자를 식별하는 방법은 무엇입니까? (0) | 2020.12.29 |
---|---|
Play2 스칼라 템플릿에서 변수 선언 (0) | 2020.12.29 |
정적이 문맥에 따라 다른 의미를 갖는 이유는 무엇입니까? (0) | 2020.12.29 |
Angular 2 Material Design Components에서 Layout Directive를 지원합니까? (0) | 2020.12.29 |
'Unchecked runtime.lastError : The message port closed before a response was received'크롬 문제를 해결하는 방법? (0) | 2020.12.29 |