タグ

direnvに関するsh19eのブックマーク (6)

  • direnvとbundle install --binstubsでbundle execを省略する術 - 日常

    bundle install した場合、毎回 bundle exec と打つのは面倒だ。 alias で be とかにしても、それすら無い方が心地よい。 ただし bundle exec を省略するためにややこしいことはしたくない。ダーティなのもいやだ。 そんなことを思っていた僕はこの direnv + bundle install --binstubs の方法に落ち着いている。 まずは --binstubs 付きで bundle install する。いつもやるのはこんな感じだ。alias しておくとよい。 これで vendor/bin 配下で実行可能な状態でイントールできる。 bundle install --path vendor/bundle --binstubs vendor/bin --without production --jobs=4 このままだと vendor/bin に

    direnvとbundle install --binstubsでbundle execを省略する術 - 日常
  • direnv で特定のディレクトリ下の環境変数を定義する | DevelopersIO

    direnv direnv は、特定のディレクトリに移動したときのみ環境変数を有効化するツールです。アプリごとに環境変数を変更したいときに便利なアイテムです。ちなみに、言語は Go で開発されているようです。 私は、Middleman で静的 Web サイトを S3 にデプロイするとき (ちなみに middleman-s3_sync という 便利 Gem) の AWS のアクセスキーとシークレットキーを設定するときに使いました。類似ツールに Dotenv がありますが、こちらは環境変数を有効化するために Dotenv.load を実行する必要があります。direnv はディレクトリに移動してきたタイミングで自動で有効化してくれて楽だったのでこっちを採用しました。どちらが良いかは開発環境に依るかなぁと思います。 direnv を使おう 早速使ってみましょう。Mac の場合は Homebrew

    direnv で特定のディレクトリ下の環境変数を定義する | DevelopersIO
  • pecoでVagrant操作を便利にする

    開発環境で利用するVagrantのVMの数が増えてきたのでpecoでVM選んで起動や停止をできるようにしてみました。 vagrant-peco こんな感じで利用します。 うれしさ pecoでVMを選択できる。Vagrantfileのあるディレクトリに移動しなくてよい VMを複数選択して一括で起動・停止できる 通常のvagrant global-statusよりも高速に表示 direnvとの連携 インストール Vagrant1.6以降でつくったVMとvagrant-peco、vagrant-global-statusが必要です。 # vagrant-global-statusをインストール $ go get github.com/monochromegane/vagrant-global-status/... # vagrant-pecoをインストール $ cd [PATH] # PATHの

    pecoでVagrant操作を便利にする
  • direnv – unclutter your .profile

    direnv – unclutter your .profile direnv is an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory. Use cases Load 12factor apps environment variables Create per-project isolated development environments Load secrets for deployment How it works Before each prompt, direnv checks for the existence o

  • DotenvではなくDirenvを使う

    DotenvではなくDirenvを使う Dotenvは,.envファイルから環境変数を読み込むためのツール.他人には共有したくないパスワードやキーなどを.envに環境変数として記述しておき,実行時にそれを読み込むといった使い方をする.例えば自分は,vagrantからDigitalOceanを使う際に,CLIENT_IDやAPI_KEYを.envに記述してVagrantfileでそれを読み込むという使い方をしていた. ただ,Dotenvは汎用性が低い.Dotenvを有効にするには,プログラム内から明示的にDotenv.loadを呼ぶ必要がある,もしくは,dotenvでプログラムを起動する必要がある.例えば,test-kitchenのdigitaloceanドライバーを使う際には,vagrantの場合と同様にCLIENT_IDやAPI_KEYが必要になる.しかし,test-kitchenでユー

  • Big Sky :: bundle exec がウザい

    ruby のアプリを動かす時にいちいち bundle exec って書くのがダルい。書きたくない。でもシステムに入ってたり違うバージョンの物が動いて変な動作をされても困る。 どうにかしてこのダルさを解消できないかと考えてみた。 まず rbenv を使ってるなら gem でインストールされるコマンドは必ずシェルのラッパとして生成され、そこから物が起動する様になっている。例えば rails であれば以下の様なシェルになっている。 #!/usr/bin/env bash set -e [ -n "$RBENV_DEBUG" ] && set -x program="${0##*/}" if [ "$program" = "ruby" ]; then for arg; do case "$arg" in -e* | -- ) break ;; */* ) if [ -f "$arg" ]; th

    Big Sky :: bundle exec がウザい
  • 1