官方所提供的 Linux 安裝檔其實只能安裝在 UBuntu 最新版的,CentOS 還不行因為 glibc 套件太舊了,所以一直以來我也只能用 Windows 來玩玩 Dart ,不過最近看國外的討論有人提供方法了。
原本的討論串在 : http://code.google.com/p/dart/issues/detail?id=15506
我照著做成功了,我的 CentOS 為 6.5 x86_64 ,應該和我差不多的版本都可以順利安裝才對
以下擷取片段內容,很簡單的照著做就行了,有兩段,第一段為編譯 runtime,第二段是 SDK,如果只需要執行 Dart,只需要做第一段就行了。
編譯 Dart Runtime
建議先隨便建立個暫時路徑,然後於這個暫時路徑做以下操作。
Install Subversion and the required build-tools.
$ sudo yum -y install subversion
$ sudo yum -y install make
$ sudo yum -y install gcc-c++Get the depot_tools and add them to the path
$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools
$ export PATH=$PATH:`pwd`/depot_toolsGet the Dart source and generate makefiles
$ gclient config http://dart.googlecode.com/svn/branches/bleeding_edge/deps/all.deps
$ gclient sync
$ gclient runhooksBuild
$ cd dart
$ tools/build.py -mrelease -ax64 runtime
整個過程耗費時間很久,最久的地方在 gclient sync 還有 build.py 那,整個過程在我的機器上完全跑完大概約 30 分鐘。
當跑完最後一行的時候,會發現有一個文件夾叫 out,裡頭有編譯好的版本,名稱叫 ReleaseX64。下以下指令看看就知道了。
[root@www dart]# cd out [root@www out]# ls -la 總計 16 drwxr-xr-x 3 root root 4096 2013-12-16 13:53 . drwxr-xr-x 15 root root 4096 2013-12-16 13:46 .. -rw-r--r-- 1 root root 5 2013-12-16 13:34 lastHooksTargetOS.txt drwxr-xr-x 10 root root 4096 2013-12-16 13:58 ReleaseX64 [root@www out]#
編譯 Dart SDK
Building the SDK require OpenJDK 1.6 as well
$ sudo yum install java-1.6.0-openjdk-devel
$ tools/build.py -mrelease -ax64 create_sdk
這段會需要安裝 JDK,上例是 java 1.6 JDK 來編譯的,我個人使用 1.7 版來編譯也是可以的。跑完之後,一樣會放到 out/ReleaseX64 這個資料夾內,會發現多個 dart-sdk,這個 dart-sdk 包含了 dart vm,dart2js 等命令,總之是個完整的開發 dart 所需要的檔案都有了。
測試 Dart
我是直接把 dart-sdk 通通複製到 /usr/local/share 去啦。這樣以後要用隨時能用,並且用 ln -s 去設定常用的命令。如
cp -Rf dart-sdk /usr/local/share cd /usr/local/bin ln -s /usr/local/share/dart-sdk/bin/dart ln -s /usr/local/share/dart-sdk/bin/dart2js
我這麼做,這樣以後就可以直接執行 dart 及 dart2js 了。接著寫一個 Sample Code 試試看。
void main() { print("Hello World !"); }
這段世界名句就存成 test.dart ,然後運行看看,應該會如下
[root@www tmp]# dart test.dart Hello World !
正確, 大功告成 !