私は、このような何かをしたいnpm installまた、インストールpackage.jsonの../somelocallibその依存関係や、より重要な。
"dependencies": {
    "express": "*",
    "../somelocallib": "*"
}私は、このような何かをしたいnpm installまた、インストールpackage.jsonの../somelocallibその依存関係や、より重要な。
"dependencies": {
    "express": "*",
    "../somelocallib": "*"
}回答:
この機能は、npmのバージョン2.0.0で実装されました。例:
{
  "name": "baz",
  "dependencies": {
    "bar": "file:../foo/bar"
  }
}次のパスも有効です。
../foo/bar
~/foo/bar
./foo/bar
/foo/barローカルパッケージはプレフィックスにコピーされます(./node-modules)にます。
通常somelocallibどおりに依存関係を入れますpackage.json:
"dependencies": {
  "somelocallib": "0.0.x"
}次にnpm link ../somelocallib、npmを実行すると、作業中のバージョンがシンボリックリンクとしてインストールされます。
app@0.0.1 /private/tmp/app
└── somelocallib@0.0.1 -> /private/tmp/somelocallibリファレンス:link(1)
npm dedupこの問題を修正できます。npmjs.org/doc/cli/npm-dedupe.html
                    npm install <folder>説明によると、ディレクトリにパッケージを現在のプロジェクトのシンボリックリンクとしてインストールします。
                    ローカルノードモジュールのインストールパスをpackage.json直接指定できるようになりました。ドキュメントから:
ローカルパス
バージョン2.0.0以降では、パッケージを含むローカルディレクトリへのパスを提供できます。ローカルパスは、
npm install -Sまたはnpm install --saveを使用して、次のいずれかの形式で保存できます。../foo/bar ~/foo/bar ./foo/bar /foo/barその場合、それらは相対パスに正規化され、に追加されます
package.json。例えば:{ "name": "baz", "dependencies": { "bar": "file:../foo/bar" } }この機能は、ローカルオフライン開発や、外部サーバーにアクセスしたくない場所にnpmのインストールを必要とするテストの作成に役立ちますが、パッケージをパブリックレジストリに公開する場合は使用しないでください。
"bar": "file:///home/user/src/foo/bar"
                    node:onbuildイメージは現在のディレクトリのみをコピーするため、ノードアプリケーションをドッキングしようとすると、あらゆる問題が発生し../fooます。
                    npm installして、LAN上のgitリポジトリのローカルコピーまたは別のgitリポジトリを持つことができる方法はありますか?上記を試してgit + sshからnpmをインストールすると、node_modulesディレクトリを調べて、git + sshを超えようとしないように見えます。これは、トップレベルのパッケージをインストールする方法です。
                    これでうまくいきます。
以下をpackage.jsonファイルに入れます
"scripts": {
    "preinstall": "npm install ../my-own-module/"
}.gitignoreはモジュールフォルダーから削除されて作成され.npmignore、初めて実行したときにを除くすべてのフォルダーに777を再帰的に適用しましたnode_modules。しかし、はい、依存関係をインストールしました。npmバージョン1.4.14の使用。
                    "dependencies": { "my-own-module": "file:../my-own-module" }?
                    npm link行う必要がないことですnpm install。
                    モジュールをバージョン管理にチェックインし、開発者がnpmリンクを覚えていることに依存したくないため、これをさらに自動化する場合は、package.jsonの「scripts」セクションにこれを追加できます。
"scripts": {
    "postinstall": "npm link ../somelocallib",
    "postupdate": "npm link ../somelocallib"
  }これはハックを超えているように感じますが、「機能する」ようです。このnpmの問題からヒントを得ました:https : //github.com/npm/npm/issues/1558#issuecomment-12444454
postinstallそしてpostupdate代わりにpreinstallそしてpreupdate?
                    これは、ローカル依存関係を追加する方法です。
npm install file:src/assets/js/FILE_NAME
NPMからpackage.jsonに追加します。
npm install --save file:src/assets/js/FILE_NAME
このように直接package.jsonに追加します:
....
  "angular2-autosize": "1.0.1",
  "angular2-text-mask": "8.0.2", 
  "animate.css": "3.5.2",
  "LIBRARY_NAME": "file:src/assets/js/FILE_NAME"
....マスタープロジェクトに使用するpackage.jsonは次のとおりです。
"dependencies": {
    "express": "*",
    "somelocallib": "file:./somelocallib"
}そこに./somelocallibは、マスタープロジェクトpackage.jsonに関連するライブラリフォルダーへの参照があります。。
リファレンス:https : //docs.npmjs.com/files/package.json#local-paths
ライブラリの依存関係を処理します。
を実行npm installすることに加えて、実行する必要があります(cd node_modules/somelocallib && npm install)。
これはNPMの既知のバグです。
参照:https : //github.com/npm/npm/issues/1341(より最新の参照を求める)
マスターpackage.lockとチェックインsomelocallib/package.lockし、ソースコードマネージャーに。
次に、Dockerfileで次を使用します。
FROM node:10
WORKDIR /app
# ...
COPY ./package.json ./package-lock.json ./
COPY somelocallib somelocallib
RUN npm ci
RUN (cd node_modules/zkp-utils/ && npm ci)
# ...(cd A && B)操作でべき等にするために、コンストラクトで括弧を使用しています。
私はそれがnpm install ../somelocallibうまくいくことを知っています。
ただし、質問で示した構文が機能するかどうかはわかりませんpackage.json...
残念ながら、ドキュメントには依存関係としてURLのみが記載されているようです。
試しfile:///.../...tar.gzて、zipされたローカルlibをポイントして、動作するかどうかを教えてください。
これは私にとってうまくいきました:最初に、npmディレクトリに適切なユーザーがいることを確認してください
sudo chown -R myuser ~/.npm
sudo chown -R myuser /usr/local/lib/node_modules次に、package.jsonでディレクトリをリンクします
"scripts": {
 "preinstall": "npm ln mylib ../../path/to/mylib"
}, 
"dependencies": {
  "mylib" : "*"
}npm installます。
                    実際、npm 2.0以降、ローカルパスがサポートされるようになりました(こちらを参照)。
好奇心が強い.....少なくともWindowsでは(私のnpmは3.何か)私がする必要がありました:
"dependencies": {
 "body-parser": "^1.17.1",
 "module1": "../module1",
 "module2": "../module2",私がnpm install ../module1 --saveそれをしたとき、絶対パスになり、ドキュメントごとの相対パスにはなりませんでした。
私はもう少しいじって、それで../xxx十分だと判断しました。
具体的には、d:\ build \ module1、d:\ build \ module2などのローカルノードモジュールと、d:\ build \ nodeAppにあるノードプロジェクト(アプリケーション)をチェックアウトしています。
「インストールするには」、私は:
d:\build\module1> rmdir "./node_modules" /q /s && npm install
d:\build\module2> rmdir "./node_modules" /q /s && npm install
d:\build\nodeApp> rmdir "./node_modules" /q /s && npm installmodule1のpackage.jsonには「module2」の依存関係があります:「../module2」; module2にはローカル依存関係はありません。nodeAppには、「module1」:「../module1」および「module2」:「../module2」という依存関係があります。
3つのフォルダー(module1、module2、nodeApp)がすべて同じレベルにあるため、これが私だけで機能するかどうかはわかりません。
ローカル開発を完了するための2つのステップ: