スキップしてメイン コンテンツに移動

claspが動かない

最近Google Apps Script(GAS)でSpread Sheet操作してみたりしていますが、Web上のサンプルコードが増えてきたので、何か開発環境はないかと調べてみたら、claspで連携できるとのことで、試してみたらハマってしまったのでメモしておきます。


環境

  • OS:Windows 10
  • Node.js:v18.4.0
  • npm:8.12.1
  • clasp:2.4.1
過去のインストール等でCドライブ内のいたるところにnode_moduleというフォルダができており、またバージョンも古かったので、コントロールパネルからNode.jsをアンインストールしたのち、エクスプローラーでnode_moduleを削除して現時点の最新版のNode.jsを入れました。

claspインストール

PowerShellから下記コマンドを実行。

npm install -g @google/clasp

claspと実行してみたところ...

> clasp
clasp : 用語 'clasp' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ clasp
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (clasp:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

との表示。

claspを動かすために

パスが通っていないのだろうなというのはわかりますが、どこへ通すべきなのか不明。調べ方が下記コマンド

> npm bin -g
C:\usr\local
npm ERR! bin (not in PATH env variable)

どうやらNode.jsをインストールした際にC:\usr\localというフォルダができて、claspをインストールとそこへ展開する模様。また、コマンド結果からパスが通っていないことも判明。

環境変数のPATHにC:\usr\localを追加。もう一度claspとコマンドを実行すると、

clasp : このシステムではスクリプトの実行が無効になっているため、ファイル C:\usr\local\clasp.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=13
5170) を参照してください。
発生場所 行:1 文字:1
+ clasp
+ ~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

デフォルトではPowerShellコマンドは実行できないらしい。となると、そもそものやり方が正しいのか怪しくなってきますが、clasp導入に際してそういったことに言及している記事が特に見つからず。ひとまず、セキュリティ的な運用は見直す必要はありますが、下記のようにPowerShellのスクリプトの実行ポリシーを変更。

Set-ExecutionPolicy RemoteSigned

はい(Y)を選択。これで動くようになりました。

> clasp -v
2.4.1


コメント

このブログの人気の投稿

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Eclipseの高速化メモ

Eclipseが重いと一言に言っても、いろいろな工程での話があると思いますが、過去記事のなども含めてこの記事にピックアップしておきたいと思います。以下はWindows環境での話です。