Cli: .DS_Storeファイルはnpmの公開後に表示されます

作成日 2019年11月08日  ·  4コメント  ·  ソース: npm/cli

  Original bug ticket: [https://npm.community/t/831](https://npm.community/t/831)
  Originally filed: 2018-07-23T20:19:41.160Z
Bug Community

最も参考になるコメント

私はnpm6.13.0でこれに遭遇しています。 packには、 filesリストされている場合、 .gitignoreおよび/または.npmignoreによって無視されるファイルが含まれます。 これらのファイルが、ディレクトリ内の他のファイルを含める必要があるディレクトリ内にある場合に最も顕著になります。

私にとってうまくいくと思われる回避策の1つは、 files配列の最後のエントリとして"!.DS_Store"を追加することです(順序が重要であるように見えます)。

全てのコメント4件

私はnpm6.13.0でこれに遭遇しています。 packには、 filesリストされている場合、 .gitignoreおよび/または.npmignoreによって無視されるファイルが含まれます。 これらのファイルが、ディレクトリ内の他のファイルを含める必要があるディレクトリ内にある場合に最も顕著になります。

私にとってうまくいくと思われる回避策の1つは、 files配列の最後のエントリとして"!.DS_Store"を追加することです(順序が重要であるように見えます)。

npm 6.12.1以降、似たようなものが表示されていると思います。 .gitignoreは、 npm-shrinkwrap.json/build/ディレクトリを除外するように指定しています。 package.jsonは、 filesセクションにbuildディレクトリを明示的にリストします。 ビルド手順の一環として、モジュールのルートディレクトリにnpm-shrinkwrap.jsonし、それをbuildディレクトリにコピーします。

npm 6.4.1、〜6.7、〜6.9、〜6.10、〜6.11、および6.12.0では、パッケージ化されたファイル( npm pack )にはbuild/npm-shrinkwrap.jsonしか含まれていませんが、6.12.1以降ではbuild/npm-shrinkwrap.json _と_ npm-shrinkwrap.json両方が含まれます。

(コミュニティは現在ダウン/読み取り専用です。これが同じ問題でない場合は、お詫び申し上げます!)

公開されたパッケージの任意の部分にシュリンクラップファイルを含めるのは奇妙に思えますが、とにかくルートにしか効果がありません-ビルドプロセスがそこにコピーを置くのはなぜですか?

それは確かに良い質問です。

build /ディレクトリを取得してdockerコンテナイメージを作成する別のビルドステップの一部として、build /ディレクトリにあります。 アイデアは、 npm testなどをdockerの外で一度実行し、shrinkwrapファイルでdockerプロセスを高速化することnpm install (docker内の

私の今の修正は、ファイルをbuild/ディレクトリに入れるためにcpではなくmvを使用することです。

編集:修正/回避策は機能しますが、この動作の変更により、レジストリのパッケージに、含まれてはならないファイルが誤って含まれる可能性があることを少し心配しています-別の部分のためにこれを偶然見つけましたnpm-shrinkwrap.jsonファイルの存在をチェックする私のシステムの。

このページは役に立ちましたか?
0 / 5 - 0 評価