2
3

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 3 years have passed since last update.

SharePoint Framework の開発環境を Docker を使って構築する際の npm install のエラーの対処

Last updated at Posted at 2020-07-02

2021/5/26追記

1.12.1で本記事の方法で実行するとエラーになるっぽいです。
参考サイト通りにやりましょう。
以下でやっても一応できます。

ここまで


SharePoint Framework を使った開発は、そのバージョンアップの頻度から Docker など使った環境構築がおすすめされています。しかしながら、Docker Desktop for Windows を使った環境構築において、npm install でうまくいかない部分があり、あくまで場当たり的対応ですが解消するまで苦労しましたので備忘録として残します。

遭遇したこと

Dockerコンテナ起動後、npm install gulp、yo @microsoft/sharepoint でいろんなエラーがでて作業が進まない。ページ下部の③のリンクのエラーがでたり、コンテナがハングアップしたかのように動作が遅くなり、先に進むことができない。

対応したこと

④のリンクを参考にして、マウントしているディレクトリでないディレクトリで npm install した後、一式をマウントしているディレクトリに移動します。

1.コンテナの起動

powershell
docker run -it --rm --name [コンテナ名] -v [プロジェクトディレクトリ]:/usr/app/spfx -p 5432:5432 -p 4321:4321 -p 35729:35729 waldekm/spfx:1.10.0

2.一時作業ディレクトリへの変更と、gulp インストール

docker
cd /tmp
npm install gulp --no-bin-links

yarn add でも可(ただし--no-bin-linksが有効かは不明)

3.yo の実行

docker
yo @microsoft/sharepoint --package-manager npm --skip-install

package-manager yarn でも可

4.spfx に必要な npm のインストール

docker
npm install --no-bin-links

yarn install でも可(ただし--no-bin-linksが有効かは不明)

5.マウントしたプロジェクトディレクトリへのファイルコピー

docker
mv * .[^\.]* /usr/app/spfx

6.プロジェクトディレクトリで開発を続ける!

まとめ

原因はわかっていませんが、何度か試してもこれならエラーにならないので、とりあえずはいけそうな気がします。
環境さえできてしまえば、JavaScriptが少し触れる方ならどんどんアプリを作っていけるSpfx。環境構築で躓いてやめてしまうのはもったいないので、(SPS2013のクラシックサイトのカスタマイズなんかやめて)是非みんなでやりましょう!!!
なお、小さめのモジュールなら、npm install してもエラーになりにくいので、この後の追加に関しては直接やっても問題ないです。

環境構築作業の参考にさせていただいたブログ

①SharePoint Developer SharePoint Framework 開発入門 まとめ
https://sharepoint.orivers.jp/sharepoint-framework-dev

対応方法の参考にさせていただいたブログなど

②Rencore Try SharePoint Framework without installing it
https://rencore.com/blog/try-sharepoint-framework-without-installing/
③[Windows][Docker] nodeコンテナでnpm installが動かず地獄を見た
https://qiita.com/yagrush/items/5fb64f878e4b9940a4ee
④WindowsのDocker環境でnpm install実行時にエラーが出た場合の対処法メモ
https://qiita.com/Y-Kanoh/items/58815aafb7346930f370

感想

Twitterでつぶやいてみたら、大変ありがたいことにいろいろな方々が確認してくださり、特に工夫しなくてもうまくいっているようでした。大感謝です!

レアな事象なのかわかりませんが、同じ事象に遭遇した場合の助けになれば幸いです。
コンテナもWindowsにしてしまえばうまくいくのでしょうか。。。

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?