LoginSignup
0
1

More than 5 years have passed since last update.

windows で sails のビルドにエラー MSB4198 で失敗するとき ヽ(゚ー゚*ヽ)(ノ*゚ー゚)ノわぁい

Last updated at Posted at 2015-05-31

みなさん、おはこんばんにちはでス。大変ご無沙汰しております。そういえば、sails.jsがv0.11.0になりましたね。手元のwin環境でアップデートに失敗したので解決方法と合わせてメモを投稿します。

内容

今回は、windowsの環境でアップデートしようとしたら失敗したという話です。Macの方はブラウザバック :back: で。エラー自体はちゃんとメモしていなかったので詳細が書けないのですが、

  • MSB4198 というエラー番号
  • directoryname でディレクトリ名関連のエラー
  • つまり、対象ファイルのパスが長すぎてダメ

ということでした。v0.10.0のインストールが成功している環境ゆえ、そのまま v0.11.0 も

npm update sails

でアップデートできると思ったのですが、上記のエラーが発生したのです。

:sunny: 解決方法

github のnode.js/npm周辺のディスカッションをいくつか見たのですが

開発サイドの言い分

  • それ悪いのWindowsだから
  • node.js/npm で対応しないんでごめんね
  • チケット閉じるね

困っている人の言い分

  • ずっと問題発生しているのにまだ解決しないの?
  • ナントカしてよ
  • チケット再度Openしてよ

という大変不毛な議論が繰り返されていました。本当に不毛ですね :anger: :smile:

結局、今回のバージョンで依存関係に追加されたらしい sails-hook-sockets を先にインストールし、そのあとに、sailsをインストールすることで回避できました。

npm install sails-hook-sockets
npm update sails

手元の環境では sails-hook-sockets のビルド時のパスがwindowsの256文字制限に引っかかっていたのが原因でした。もし、同じ問題で困ったときに参考になればと書いた次第です。最近はMacの人が多いからあまり役に立たないかもしれませんが。

参考

すぐ sucks 言う人達のやり取り

  • Node's nested node_modules approach is basically incompatible with Windows · Issue #6960 · joyent/node - https://goo.gl/VFCcXx
  • Too many dependencies break the Windows file system · Issue #3697 · npm/npm - https://goo.gl/2q2nGL
  • Install error with npm on Windows 7 x64 · Issue #57 · node-xmpp/node-expat - https://goo.gl/BbEHqC
0
1
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
0
1