1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

coffeescriptを残したままcoffeescript2を使いたい

Last updated at Posted at 2018-03-18

2017年、久しぶりにcoffee scriptがメジャーアップデートを行いました。

「coffeescript?オワコンだろ?」と言われる中、jsの括弧の多さに辟易してtype scriptやES6へ進めない、進みたくないcoffee使いの方は根強く存在していると思われます。(知らんけど)

しかしcoffee script2(以下2系)はES2015/6に準拠する形でのコンパイルが行われるらしいので、互換性の心配が付きまといます。しかし同時にasync/awaitが使えるようになったというので興味はあります。

過去にcoffeeで書いた遺産が動かなくなったら困るので移行できない、でも使ってみたい。

そこで私はcoffeescriptを残したまま「coffeescript2」をインストールすることにしました。

:exclamation: 2018/03/19追記
coffee-scriptはcoffeeコマンドを呼び出す場所(ディレクトリ)直下のnode_modulesを探し、そこにcoffee-scriptがあれば(ローカルインストールしていれば)それを優先して使用します。
:exclamation: 長々と書いていますが,coffeeコマンドを呼び出す場所にローカルインストールしていればそこだけで使えます。他の場所には影響しませんので2系を使う場所でローカルインストールすればいいだけです。

概要

  1. 適当な場所に2系をインストールする
  2. パスの通った場所にシンボリックリンクを張る
  3. 「coffee2」というコマンドが使えるようになる

実践

1. 適当な場所に2系をインストールする

場所は本当にどこでもいいです。仮に$HOME/node_modules_altというディレクトリにインストールしてみましょう。

cd
mkdir node_modules_alt
cd node_modules_alt
npm i -y

これで場所の準備はできました。インストールしてみましょう。
ローカルインストールですので-gオプションを付けないように注意してください。

npm i coffeescript

1系か2系かややこしくなりそうなので名前を変えても良いと思います(任意)

cd node_modules
mv coffeescript coffeescript2

2. パスの通った場所にシンボリックリンクを張る

このままでは当然「coffee2」というコマンドは使えませんのでリンクを張ります。
私は$HOME/binという場所にパスを通しています。
無い人は以下の様に。

cd
mkdir bin

この場所にパスを通すために.bashrc.zshrcなどに追記します。

.bashrc/.zshrc
export PATH=$HOME/bin:$PATH

あとはリンクを張るだけです。

cd ~/bin
ln -s ~/node_modules_alt/node_modules/coffeescript2/bin/coffee coffee2

3. 「coffee2」というコマンドが使えるようになる

試してみましょう。

> coffee2  --version
CoffeeScript version 2.2.3

念のためにcoffeeも。

> coffee --version
CoffeeScript version 1.12.7

これで2系が使えるようになりました。
あとは今までコンパイルの時に使っていたcoffeeコマンドをcoffee2に変えるだけです。
不具合があったらまたcoffeeに変えるだけで戻せます。

enjoy your coffee life!! :laughing:

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?