2012年11月21日水曜日

Ubuntu に Typescript をインストールした

Synaptic Package Manager で
  • npm
  • nodejs
をインストール

> npm install -g typescript
すると
npm ERR! couldn't read package.json in .
npm ERR! Error installing .
npm ERR! Error: ENOENT, No such file or directory 'package.json'
npm ERR! Report this *entire* log at 
npm ERR! or email it to 
npm ERR! Just tweeting a tiny part of the error will not be helpful.
npm not ok

と言われる。

どうもインストールした npm のバージョンが古かったようだ

github : isaacs / npm - couldn't read package.json in .

1.x をインストールしないといけないらしい
Synaptic から入れた node.js も古かった

ということで node.js と npm を一旦アンインストールし、コメントの最後のほうで isaacs さんが紹介している https://launchpad.net/~chris-lea/+archive/node.js/ からインストール

そのためにまず ppa:chris-lea/node.js を PPA(Personal Package Archive) に追加

> sudo add-apt-repository ppa:chris-lea/node.js

You are about to add the following PPA to your system:
 node.js
 Evented I/O for V8 javascript. Node's goal is to provide an easy way to build scalable network programs
 More info: https://launchpad.net/~chris-lea/+archive/node.js
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmpIBxqM3/secring.gpg' created
gpg: keyring `/tmp/tmpIBxqM3/pubring.gpg' created
gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpIBxqM3/trustdb.gpg: trustdb created
gpg: key C7917B12: public key "Launchpad chrislea" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

> sudo apt-get update
次に node.js と npm をインストール

> sudo apt-get install nodejs
> sudo apt-get install npm

> npm -v
1.1.65
よしよし

ようやく

>  npm install -g typescript
npm http GET https://registry.npmjs.org/typescript
npm http 200 https://registry.npmjs.org/typescript
npm http GET https://registry.npmjs.org/typescript/-/typescript-0.8.1.tgz
npm http 200 https://registry.npmjs.org/typescript/-/typescript-0.8.1.tgz
npm ERR! Error: EACCES, mkdir '/usr/lib/node_modules'
...
キターとおもったらエラー orz

> sudo npm install -g typescript
npm http GET https://registry.npmjs.org/typescript
npm http 304 https://registry.npmjs.org/typescript
/usr/bin/tsc -> /usr/lib/node_modules/typescript/bin/tsc
typescript@0.8.1 /usr/lib/node_modules/typescript
はいったぽい?

Tutorial のコードを書いて

> cat greeter.ts 
function greeter(person) {
    return "Hello, " + person;
}

var user = "Jane User";

document.body.innerHTML = greeter(user);

> tsc greeter.ts 
怒られなかったー

> ls
greeter.js  greeter.ts
js ファイルできてるー



0 件のコメント:

コメントを投稿