LoginSignup
1

More than 1 year has passed since last update.

Gulpを起動すると "no template named 'remove_cv_t' ..." エラーが出たときの対処

Last updated at Posted at 2021-05-22

Macを新調したのを機に、Node関係をいちから設定しなおしました。
旧環境から持ち込んだpackage.jsonをインストールしようとしたところ、以下のようなエラーが表示されました。

error: no template named 'remove_cv_t' in namespace 'std'; did you mean 'remove_cv'?

原因

node-sassが最新のNodeに対応していないことが原因のようです。

ここのissueによるともう修正されているようなのですが…nodebrew経由だと最新バージョンがインストールされないのでしょうか?

対応

node-sassを再インストールする手も考えられましたが、私はNodeのバージョンを旧環境と同じ15に下げる対応をしました。その方が旧環境から他のプロジェクトを移行したときに、後々問題が少なそうだからです。

nodebrewを使用している場合、useコマンドで使用バージョンを変更することができます。

インストールできるバージョンをリストアップする

$ nodebrew ls-remote

15系の最終版をインストールする

この記事を書いた時点では v15.14.0 が最新です。

$ nodebrew install-binary v15.14.0

nodebrewで使用するバージョンを変更する

$ nodebrew use v15.14.0

確認(インストールされているバージョン一覧を表示)

$ nodebrew ls

currentに変更したバージョンが入っていればOKです。

current: v15.14.0

よりにもよってSassなので、あまりNodeの扱いに慣れていないマークアップ関係の人ほど、はまりそうな気がします。
node-sassをバージョンアップすると解決するのかご存じの方がいたら、コメント欄に書いてくださるとありがたいです。

エラーの詳細は、stackoverflowに記載されています。C++のスクリプトと干渉しているようです。

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
What you can do with signing up
1