インストール
リリースノート
http://www.ruby-lang.org/ja/news/2011/10/31/ruby-1-9-3-p0-is-released/
速度
結構速くなったらしいです。
この記事を参考:http://stjhimy.com/posts/24-ruby-1-9-3-freaking-fast-bro
http://www.ruby-lang.org/ja/news/2011/10/31/ruby-1-9-3-p0-is-released/
結構速くなったらしいです。
この記事を参考:http://stjhimy.com/posts/24-ruby-1-9-3-freaking-fast-bro
ruby 1.9.2p290へ更新しました。rvmもついでに。
git clone https://github.com/enormego/EGOTextMateFullScreen.git /tmp/EGOTextMateFullScreen
xcodebuild -project /tmp/EGOTextMateFullScreen/EGOTextMateFullScreen.xcodeproj -target EGOTextMateFullScreen
cp -R /tmp/EGOTextMateFullScreen/build/Release/EGOTextMateFullScreen.tmplugin ~/Library/Application\ Support/TextMate/PlugIns
# after installed
rm -rf /tmp/EGOTextMateFullScreen/
これが完成図!
coffee-scriptをMacportsを使ってインストールし、TextMateのcoffee-script bundleでコンパイルするメモです。
注意すべきなのはたとえターミナルでcoffeeが実行できても、TextMateはPATHをインクルードしないので(インクルードしているのは/usr/binらしい)、/usr/binにcoffeeのシンボリックを作る必要があります。
またcoffee-scriptをコンパイルするにはnodejsとnpm(Node Package Manager)が前提条件となるため、それらのインストールも必要です。
これでtextmateでcommand + Bでコンパイル後のJavascriptが表示できるようになります!
Sinatraを試したところこのようなエラーになりました。
ruby -rubygems myapp.rb
no such file to load -- ubygems (LoadError)
ググッてみたらやはりPATHが間違ったっぽいです。
Macportでrubygemsをインストールすることで解決できるそうです。
その後はgemを再度インストールする必要があるらしいです。
操作の流れ:
#パスの確認
which gem
/usr/bin/gem
sudo port install rb-rubygems
...
# Terminal再起動
# パスの確認
which gem
/opt/local/bin/gem
sudo gem install sinatra
一旦はこれで解決です。
参考になったサイト:
http://d.hatena.ne.jp/holypp/20110319/1300556202
http://d.hatena.ne.jp/Kuna/20090315/1237121262
MacportでPHPをインストールし、CakePHPを動かしたら「Strict Standards」エラーが出ました。
当時のエラー本文は残ってませんので、Googleで検索したエラー本文を貼り付けます。パス以外は同じのはずです。
Strict Standards: Assigning the return value of new by reference is deprecated in /Applications/MAMP/htdocs/xxxx/cake/basics.php on line 279
Strict Standards: Redefining already defined constructor for class Object in /Applications/MAMP/htdocs/xxxx/cake/libs/object.php on line 65
Strict Standards: Assigning the return value of new by reference is deprecated in /Applications/MAMP/htdocs/xxxx/cake/libs/object.php on line 92
Strict Standards: Assigning the return value of new by reference is deprecated in /Applications/MAMP/htdocs/xxxx/cake/libs/inflector.php on line 65
Strict Standards: Assigning the return value of new by reference is deprecated in /Applications/MAMP/htdocs/xxxx/cake/libs/configure.php on line 96
Strict Standards: Assigning the return value of new by reference is deprecated in /Applications/MAMP/htdocs/xxxx/cake/libs/configure.php on line 154
Strict Standards: Assigning the return value of new by reference is deprecated in /Applications/MAMP/htdocs/xxxx/cake/libs/cache.php on line 71
Strict Standards: Assigning the return value of new by reference is deprecated in /Applications/MAMP/htdocs/xxxx/cake/libs/cache.php on line 157
Strict Standards: Non-static method Configure::getInstance() should not be called statically in /Applications/MAMP/htdocs/xxxx/cake/bootstrap.php on li
これはCakePHPの問題ではなく、PHPのerror_reportingの設定問題だそうです。
php.iniを開いてerror_reportingで検索します。
値をE_ALLに変更すれば解決です。
ちなみにMacportでPHPをインストールしたときのphp.iniパスは/opt/local/etc/php5/php.iniになります。
http://oldblog.awpny.com/2007/12/mamp-php5-cakephp-and-strict-standards/
新しい mysqlnd ライブラリは、MySQL 4.1 用の41バイトの新しいパスワードフォーマットを使用します。 古い16バイトのパスワードを使うと、mysql_connect() 系の関数は次のようなエラーメッセージを生成します。”mysqlnd cannot connect to MySQL 4.1+ using old authentication”
MacPortでインストールしたPHP5.3では、
mysqlnd(php5.3のmysql native client)が適用される。
しかし、CentOSなどのyumでインストールできるMySQLサーバーとの相性がよろしくない。
PHP Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using old authentication
というエラーが現れ、接続することができません。
mysqlndを利用しないよう再コンパイルが必要となる。
portでインストールしたモジュールを確認、mysqlndがactiveなってるはず。
sudo port installed
php5-mysql @5.3.5_0+mysqlnd (active)
そしてmysql5のvariantsを指定で再インストール。
% sudo port install php5-mysql +mysql5
---> Computing dependencies for php5-mysql
---> Fetching php5-mysql
---> Verifying checksum(s) for php5-mysql
---> Extracting php5-mysql
---> Configuring php5-mysql
---> Building php5-mysql
---> Staging php5-mysql into destroot
---> Installing php5-mysql @5.3.5_0+mysql5
---> Deactivating php5-mysql @5.3.5_0+mysqlnd
---> Cleaning php5-mysql
---> Activating php5-mysql @5.3.5_0+mysql5
---> Cleaning php5-mysql
再度port installedで確認すればmysql5がactiveになるはず。これで解決。
php5-mysql @5.3.5_0+mysqlnd
php5-mysql @5.3.5_0+mysql5 (active)
【php】mysqlndを使うとMySQLに接続できない
http://www.softel.co.jp/blogs/tech/archives/2225
SnowLeopard + PHP5.3でのMySQLリモート接続
http://taikimen.blogspot.com/2010/10/snowleopard-php53mysql.html
PHP: mysqlnd cannot connect to MySQL 4.1+ using old authentication
http://www.bitshop.com/Blogs/tabid/95/EntryId/67/PHP-mysqlnd-cannot-connect-to-MySQL-4-1-using-old-authentication.aspx
mysqlが古い16バイトのパスワードを使ってるかを確認する方法です。
mysqlにログインして下記コマンドを実行:
mysql> select password('aa');
+------------------+
| password('aa') |
+------------------+
| 0123456789abcdef |
+------------------+
16位だっだら古いです。40位なら新しいってことです。
Oracle Instantclientをインストールすることで、PHPからOracleデータベースへの接続が可能になります。
XAMPPのデフォルトインストールではそれが無効となっています。確認方法はphpinfoのページから'oci8'を検索して何もなかったらつまり接続できてないことです。
phpinfoのページからoci8を検索してあれば成功!
MacにはデフォルトでRubyが入ってそうです。
ターミナルを開いてrails -vを叩いたらバージョン情報が出てきました。
ruby 1.8.7 (2009-06-08 patchlevel 173) *universal-darwin10.0*
そしてRubyだけじゃなくRailsも入ってましてびっくりしました。
すごいですねMacは。。。
て、railsのバージョンもrails -vで確認できますが、
デフォルトのバージョンは古いそうで下記のコマンドでアップグレードできます。
sudo gem update rails
するとこんなログ情報が出ます。
Updating installed gems
Updating rails
WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
/usr/bin aren't both writable.
WARNING: You don't have /Users/zolo/.gem/ruby/1.8/bin in your PATH,
gem executables will not run.
Successfully installed activesupport-2.3.8
Successfully installed activerecord-2.3.8
Successfully installed rack-1.1.0
Successfully installed actionpack-2.3.8
Successfully installed actionmailer-2.3.8
Successfully installed activeresource-2.3.8
Successfully installed rails-2.3.8
Gems updated: activesupport, activerecord, rack, actionpack, actionmailer, activeresource, rails
Installing ri documentation for activesupport-2.3.8...
Installing ri documentation for activerecord-2.3.8...
Installing ri documentation for rack-1.1.0...
Installing ri documentation for actionpack-2.3.8...
Installing ri documentation for actionmailer-2.3.8...
Installing ri documentation for activeresource-2.3.8...
Installing ri documentation for rails-2.3.8...
Installing RDoc documentation for activesupport-2.3.8...
Installing RDoc documentation for activerecord-2.3.8...
Installing RDoc documentation for rack-1.1.0...
Installing RDoc documentation for actionpack-2.3.8...
Installing RDoc documentation for actionmailer-2.3.8...
Installing RDoc documentation for activeresource-2.3.8...
Installing RDoc documentation for rails-2.3.8...
多少時間がかかります。
これでMacでのRuby開発の準備は完了です。
gem update railsにsudoを付けないとこんなエラーが出るかも
WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
/usr/bin aren't both writable.
WARNING: You don't have /Users/paku-k/.gem/ruby/1.8/bin in your PATH,
gem executables will not run.
ERROR: Error installing rails:
bundler requires RubyGems version >= 1.3.6
環境構築の記事でよく目にすると思いますが
このsudoコマンド。
気になってて調べてみたんです。
sudo is a Terminal command used to execute a command as another user, by default, the root user.
あるコマンドを別のユーザとして実行する、デフォルトではルートユーザ、だそうです。
例えばルートユーザとしてあるアプリを実行したい時は:
sudo open ....