Gulp のインストールでエラーが出た
Gulpを使って開発をしようとしたら、 $ npm install gulp --save-dev
でエラーがでたので、メモ。
どういうこと?
ローカルでGulpを使って開発をしようとしました。 Gulpを使うのが久しぶりだったので、以下の記事を参考にGulpを設定しようとしました。
$ npm init
$ npm install gulp -g
までは問題なく出来ましたが、$ npm install gulp --save-dev
でエラーを吐いて進まなくなりました。
$ pwd /Volumes/MacintochHD/Documents/ $ mkdir gulp $ cd gulp $ npm init npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg> --save` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. name: (gulp) version: (1.0.0) description: entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to /Volumes/MacintochHD/Documents/gulp/package.json: { "name": "gulp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } $ npm install gulp -g $ npm install gulp --save-dev npm ERR! Darwin 14.5.0 npm ERR! argv "/usr/local/Cellar/node/6.7.0/bin/node" "/usr/local/bin/npm" "install" "gulp" "--save-dev" npm ERR! node v6.7.0 npm ERR! npm v3.10.8 npm ERR! code ENOSELF npm ERR! Refusing to install gulp as a dependency of itself npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! <https://github.com/npm/npm/issues> npm ERR! Please include the following file with any support request: npm ERR! /Volumes/MacintochHD/Documents/gulp/npm-debug.log
うーん、どういうことだろう?
原因はpackage.jsonのnameでした。
どうやら、開発用に用意したディレクトリ名が"gulp"だったのが問題らしい。
package.jsonのnameはデフォルトでディレクトリ名を取るらしく、それがgulpだとエラーになるらしい。
なので、package.jsonを修正する。
{ "name": "gulptest", <= gulpから変更 "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": { "gulp": "^3.9.1" } }
この状態で再度 $ npm install gulp --save-dev
を実行すると、問題なくインストールできました。
以前、hubotでも同じエラーがあったなぁ。npmだとpackage名と同じ名前をpackage.jsonのnameに指定するとエラーになるみたい。 あとでもうちょっと調べてみよう。
"vagrant up" しようとしたら "version of VirtualBox installed that is not supported" と言われた
Ansibleを試してみようと思い、以下の記事を参考にvagrantで試してみようとした。
boxを用意して、'$ vagrant up' してみました。
$ vagrant up The provider 'virtualbox' that was requested to back the machine 'controller' is reporting that it isn't usable on this system. The reason is shown below: Vagrant has detected that you have a version of VirtualBox installed that is not supported. Please install one of the supported versions listed below to use Vagrant: 4.0, 4.1, 4.2, 4.3
どうやら、virtual boxのバージョンが違うから合わせてくれといっているようだ。
なので、virtual boxのバージョンを上げてみた。
virtual boxは Homebrewで入れているので、ターミナルからおもむろに $ brew cask install virtualbox
としてバージョンをあげてみるがやはり変わらない。
そこで、vagrantの方のバージョンをあげてみる。
$ brew cask install vagrant ==> Downloading https://releases.hashicorp.com/vagrant/1.8.6/vagrant_1.8.6.dmg ######################################################################## 100.0% ==> Verifying checksum for Cask vagrant ==> Running installer for vagrant; your password may be necessary. ==> Package installers may write to any location; options such as --appdir are ignored. ==> installer: Package name is Vagrant ==> installer: Upgrading at base path / ==> installer: The upgrade was successful. 🍺 vagrant was successfully installed!
ここまでやって、ようやくvagrantが立ち上がりました。 さっ、ansibleの勉強しよーっと。
Macで日本語入力ができなくなったけど解決した話
Macで作業中、突然日本語入力ができなくなってしまうことがあり、一応の解決策が見つかったのでメモ。
どういうこと?
Macでアプリを切り替えて作業をしていると、突然日本語入力が出来なくなる。 ちなみに、Google日本語入力を使っています。
- 「英数」「かな」キーを押してみても反応なし。(もしくは、一瞬右上の言語メニューが切り替わるけど、すぐに戻ってしまう。)
- 右上の言語メニューから「ひらがな」を選択しても変化なし。
コード書いてる時ならそこまで困らないが、チャットなどしてる時だと、もう大変。 「nihonngoutenakunarimasita」みたいになってしまう。。
どうやって解決したの?
普段、クリップボード拡張で、Clipyを使っています。 思い返してみると、日本語が入力できなくなった辺りからClipyが反応しなくなってしまった。
これはもしやと思って、Clipyを落としてみた。
/Applications/Utilities/アクティビティモニタ を開き、「Clipy」を探し、"×"アイコンをクリック。
Cipyが落ちたので、日本語入力をやってみると・・・できた!!!!
他のアプリが影響したりしてることもあるけど、今回はこれでうまくいきました。 よかったよかった。。。
Ansibleを使おう
TOC
- 構成管理ツールとは?
- Ansibleとは?
構成管理ツールとは?
サーバーを作成した時など、マニュアル的に実行している処理、手順があると思います。
例えば・・・ - ユーザーを作って - apache入れて - sshの設定して - ディレクトリ作って などなど。
マニュアルを見ながら進めていけば、1度や2度なら問題は起こらないかもしれませんが、それが10回20回・・・となった場合、毎回同じような結果になるといえるでしょうか? (マニュアルをブラッシュアップしろよというツッコミはここでは無視)
そういうときは構成管理ツールを使いましょう。 構成管理ツールを使うと以下のことができるようになります。
- セットアップの自動化(構成管理)
- デプロイメント
- これらの手順を共有できる などなど。
面倒な作業を自動化できるだけでなく、手順をコード化することができます。 しかもそれをチーム内で共有すれば、誰が何度やっても同じ結果が返ってくるようになります。
Ansibleとは?
構成管理ツールには代表的な物がいくつかあります。
- Puppet
- Chef
- Ansible
- Rex
この中で最近人気のある Ansible を使っています。
Ansibleには主に以下の特徴があります。 - エージェントレス - 豊富なモジュール - 冪等性 - シンプルな記述
エージェントレス
- サーバー側に特別なインストール不要
- ローカルにpython2.4+,サーバーにpython2.6+がインストールサれていれば動く
サーバーに勝手にいろいろインストールできないという場合でも、pythonさえあれば動作します。
豊富なモジュール
以下に一例を挙げます。 - yum - git - ファイルのダウンロード - slackに通知を送る などなど。 All Modules — Ansible Documentation
標準でできることが多いので、YAML形式で設定を書いていけばいろいろな機能を使うことができます。
冪等性
Ansibleの特徴に冪等性(べきとうせい)があります。 冪等性とは「ある操作を何度行っても、毎度同じ結果が返ってくる」ということです。
すでに実行したことがある処理を再度実行した場合でも、実行し直すのではなく、状態を見て、適宜スキップしてくれます。
シンプルな記述
Ansibleの設定ファイルは一般的なYAML形式で書かれており、非常にシンプルです。
- name: apacheのインストール apt: pkg=apache2 state=latest - name: MySQLのインストール apt: pkg=mysql-server-5.6 state=present
このように非常にシンプル。
Ansibleを使えば、サーバーの構築はもちろん、Macの環境構築、CMSのセットアップなど多くのことを自動化出来ます。
今回はざっくりとした概要だけで、具体的な使い方は別の記事で紹介したいと思います。
Acrobat proでメニューが消えてしまった!!
PDFを見ようと思い、Adode Acrobat proを起動した時、誤ってメニューバーを消してしまいました。。。 一瞬あせりましたが、どうにか解決出来たので、備忘録としてメモ。
ちなみにAcrobat proのバージョンは2015.017.20053です
メニューバーが消えるってどういうこと?
PDFを開いたとき、ツールパネルのウィンドウなどが開いてて、PDFの表示領域が極端に狭くなってしまっていた。。
「こういうのはたいていメニューバーの表示でなんとかなるでショ」と軽い気持ちで、
メニューバー > 表示 > 表示の切り替え
からチェックがついている「ツールパネルウィンドウ」をクリックしてやると、想定通りツールパネルウィンドウが消えました。
ここでやめておけばよかったのに・・・。
「おや?メニューバーにもチェックが入ってるぞ・・・」
見てみると「メニューバー」にもチェックが入っていました。
「ここをクリックすると、印刷アイコンとかも消えるかも!」と、クリックしてみると・・・、なんということでしょう!! 一番上のアップルマークなどのメニューバーが消えてしまいました!!
もう一度メニューバーの「表示」から戻そうと思ったけど、メニューバー(があったところ)をクリックしてもFinderのメニューが出てきてしまいます。。。
どうしよう。。。
ツールを起動してみよう。
上部にある、「ホーム」「ツール」などのメニューから「ツール」を選択し、なんでもいいので選択してみます。
すると、今まで消えていたメニューバーが出てきたではありませんか!!
ちなみに、「ホーム」から別のPDFを開いたりしてもメニューバーは復活します。
後先考えずにこういうことをすると痛い目を見るな、と言う教訓でした。。。
Hubot起動時に出るエラーをどうにかしたい!!
Hubotを起動する際に以下のエラーがでてる。
$ bin/hubot ⏎ [Thu Sep 22 2016 05:01:57 GMT+0900 (JST)] ERROR Error: listen EADDRINUSE 0.0.0 .0:8080 at Object.exports._errnoException (util.js:1026:11) at exports._exceptionWithHostPort (util.js:1049:20) at Server._listen2 (net.js:1253:14) at listen (net.js:1289:10) at net.js:1399:9 at _combinedTickCallback (internal/process/next_tick.js:77:11) at process._tickCallback (internal/process/next_tick.js:98:9) mybot> [Thu Sep 22 2016 05:01:59 GMT+0900 (JST)] INFO hubot-redis-brain: Using default redis on localhost:6379 [Thu Sep 22 2016 05:01:59 GMT+0900 (JST)] INFO hubot-redis-brain: Data for hub ot brain retrieved from Redis
今のところ、出てても起動には影響しなかったのでほうっておいたが、きになったのでちょっと調べてみた。
nodeのプロセスがすでに動いているらしい
ぐぐったら以下のサイトが見つかった。
ここに書かれていることが全てなのだけど、どうも以前nodeで使われたポートがそのままになっているのが問題らしい。
なので、使っていないプロセスを止めてあげましょう。
# 確認 $ ps aux | grep node root 19383 0.1 0.5 3118512 40724 s011 S+ 7:00PM 0:03.18 node node_modules/.bin/coffee /Volumes/MacintochHD/Documents/mybot/node_module s/.bin/hubot --name mybot root 34778 0.1 0.1 3122496 5436 s000 S+ Fri06PM 0:21.10 node node_modules/.bin/coffee /Volumes/MacintochHD/Documents/mybot/node_modules/.bin/hubot --name mybot root 12361 0.1 0.4 3116116 34604 s013 S+ 5:13PM 0:04.53 node node_modules/.bin/coffee /Volumes/MacintochHD/Documents/mybot/node_modul$s/.bin/hubot --name mybot node node_modules/.bin/coffee /Volumes/MacintochHD/Documents/mybot/node_modules/.bin/hubot --name mybot root 12361 0.1 0.4 3116116 34604 s013 S+ 5:13PM 0:04.53 node node_modules/.bin/coffee /Volumes/MacintochHD/Documents/mybot/node_modules/.bin/hubot --name mybot root 30141 0.1 0.1 3122360 6536 s001 S+ Fri05PM 0:21.71 node node_modules/.bin/coffee /Volumes/MacintochHD/Documents/mybot/node_modules/.bin/hubot --name mybot root 21108 0.0 0.0 2441988 656 s017 R+ 5:02AM 0:00.00 grep node root 21071 0.0 1.1 3126560 94284 ?? S 5:01AM 0:02.73 node node_modules/.bin/coffee /Volumes/MacintochHD/Documents/mybot/node_modules/.bin/hubot # nodeのプロセスを殺す $ killall node # 再度確認 $ ps aux | grep node root 21142 0.0 0.0 2432772 528 s017 R+ 5:02AM 0:00.00 grep node # 起動 $ bin/hubot mybot> [Thu Sep 22 2016 05:02:58 GMT+0900 (JST)] INFO hubot-redis-brain: Using default redis on localhost:6379 [Thu Sep 22 2016 05:02:58 GMT+0900 (JST)] INFO hubot-redis-brain: Data for hubot brain retrieved from Redis
エラーが消えてスッキリしました。
やっぱりエラーが出っぱなしってのは精神衛生上良くないよね。。。。
Homebrewでアプリをアンインストールしたら Error: {app} is not installedが出て怒られた
macでアプリの管理はHomebrewを使っています。
思い立って不要なファイルをアンインストールしようと brew cask uninstall {app}
としたら Error: {app} is not installed
と出てできなかったので、ちょっと調べてみたのでメモ。
まずは手順を
# まずはbrew でインストールしているアプリを確認 $ brew cask list ⏎ adobe-creative-cloud kobito (!) alfred macvim appcleaner magican atom mamp bartender mi bettertouchtool minbox bitbar mplayerx caffeine node (!) ccleaner skype clipmenu slicy divvy sophos-anti-virus-home-edition (!) dropbox sourcetree eclipse-ide sublime-text evernote sublime-text3 (!) filezilla textwrangler firefox the-unarchiver genymotion totalfinder gimp vagrant google-chrome virtualbox google-hangouts visual-studio-code google-japanese-ime vlc hyperswitch vmware-fusion inkscape xampp iterm2 xquartz karabiner yabumi # slicyは使ってないのでアンインストール $ brew cask uninstall slicy Error: slicy is not installed <= どうして・・・
こんな感じでアンインストール出来ない・・・。
わからないときはググってみる
error * is not installed homebrew
アタリでググって見ると結構見つかるけど、今回はこの記事が見つかった。
ここに手動で消す方法が紹介されていたので、やってみる
# /Users/{user}/Applications/~ $ ll slicy.app ll /Users/{user}/Applications/Slicy.app ⏎ lrwxr-xr-x 1 root staff 42B Sep 3 07:11 /Users/{user}/Applications/Slicy.app -> /usr/local/Caskroom/slicy/latest/Slicy.app # 削除 $ rm -f /Users/{user}/Applications/Slicy.app $ rm -rf /usr/local/Caskroom/slicy/latest/Slicy.app # 確認 $ brew cask list
ここまでやってSlicyがなくなっていればOK
どうしてこうなるの?
どうしてこうなるのか気になったので、調べてみた。
これによると、インストールした時と違うバージョンがインストールされていると起こる問題らしい。
この中で、「brew cask uninstall --force
で全てのバージョンを消せるよ」って言っているのでやってみた。
# まずはbrew でインストールしているアプリを確認 $ brew cask list ⏎ adobe-creative-cloud kobito (!) alfred macvim appcleaner magican atom mamp bartender mi bettertouchtool minbox bitbar mplayerx caffeine node (!) ccleaner skype clipmenu slicy divvy sophos-anti-virus-home-edition (!) dropbox sourcetree eclipse-ide sublime-text evernote sublime-text3 (!) filezilla textwrangler firefox the-unarchiver genymotion totalfinder gimp vagrant google-chrome virtualbox google-hangouts visual-studio-code google-japanese-ime vlc hyperswitch vmware-fusion inkscape xampp iterm2 xquartz karabiner yabumi # divvyをアンインストール $ brew cask uninstall --force divvy # 確認 $ brew cask list
これでdivvyがなくなっていればOK。
Homebrew はアプリのインストールが楽だからついつい消し忘れのアプリが増えてしまいがちだけど、定期的に見直してきれいにしましょー