"開発" にカテゴリー登録されている3 投稿

[備忘録] npm が壊れたときの対処方法 (Windowsの場合)

最近、開発では何かとnpmを使いますが、何かのきっかけで npm が壊れたようなので修正方法を備忘録として残しておきます。Mac に関しては情報があるんですが、意外と Windows に関する情報がなかったので。

出たエラーは次の通り(Visual Studio Code のターミナル画面)。

PS C:\演習Kit\Bot Framework\BotBuilder-Samples\samples\
javascript_es6\01.a.browser-echo> npm

module.js:550
  throw err;
  ^

Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)

....

2018-11-06_16-37-56

 

どうも、"npmlog" モジュールが見つからない。単純に npm -v を実行しても同様にエラーとなる。

そこで、下記のリンク先を参考に以下の手順を実行してみたところ正しく動作するように。

[参考] cannot find module 'npmlog' - after updated npm

  1. Node.js をアンインストールするためコントロールパネルから削除
  2. 上記リンクには、%PROGRAMFILES%\nodejs\node_modules 配下の 'npm' フォルダーを削除するか名前を変更するとあるが、1の手順によりフォルダーは削除されている模様。よって存在しないことを確認
  3. C:\Users\<user>\AppData\Roaming\npm フォルダーが存在することを確認し、npm フォルダーごと削除
  4. msiインストーラーを使って Node.js ファイルを再インストール (Node.js のバージョンは8.12.0 を利用。 SharePoint Frameworkが v8 までしかサポートしていないため)
  5. node -v および npm -v を実行し、正しくバージョンが表示されることを確認

ちなみに最初は3の手順を省いていたのですが、これだと正しく修正できませんでした。

 


[SharePoint Online] サイトコレクション単位でのアプリカタログ

私の管理している Office 365 テナントの管理センターに次のようにサイトコレクション アプリカタログ機能がもうすぐロールアウトされるというメッセージが届きました。

Site Collection App Catalog is a new Office 365 feature for SharePoint Online. We'll begin rolling this feature out in November. This message is associated with Office 365 Roadmap ID 24254.

一般の利用者にとっては、アプリカタログとは? と思うと思いますが、独自開発したWebパーツなどのSharePointのカスタム アプリケーションを展開するときに使うサイトのことです。これが従来はテナントレべルでしか利用できなかったため、ちょっとしたカスタマイズを展開するにも、全社レベルの展開かぁと躊躇されることもあったわけです。

しかし、このサイトコレクション単位でのアプリカタログが利用できると、特定のサイトコレクションのみで特定のアプリが利用できるようになり、サイトコレクションの管理者レベルで管理できます。

特にこれから SharePoint Framework および SharePoint Framework Extensions を使ったカスタマイズが主流になっていくと思われますので、アプリ展開基盤が整っていくことは非常に喜ばししいことです。


[SharePoint] Yeoman Generator 1.3

Microsoft Ignite 2017 で発表がありましたが、2017年9月26日付けで SharePoint Framework (SPFx) 開発で利用する Yeoman Generator の 1.3 がGAとなっています。SFPx 開発している方は、アップデートしましょう。

このアップデートにより、次の 2つの SPFx バージョンを手軽に切り替えられます。

  • オンプレミスの SharePoint 2016 (Feature Pack 2が適用されていること) でも Online でも動作する
  • SharePoint Online のみで動作する

SharePoint 2016 も Feature Pack 2 から SPFx がサポートされるようになりましたが、SPFx のバージョンは 従来通り v 1.0 でないといけません。一方、最新バージョンは v1.0.2 となっており、これは SharePoint Online でしかサポートされません。

ということで、Generator 1.3 を適用すると次のように、どちらの環境用にプロジェクトを作成するのか聞かれるようになります。

2017-10-15_16-44-59

これまで何度か記事に取り上げてはいますが、SharePoint Framework ってよく知らないという方もいらっしゃると思いますので、その辺の記事を近く公開したいと思います。