pg
にピア依存関係を持つnode-pg-migrate
を使用しています。私は図書館がドッカーでノードを実行しているときのUnmetピア依存性の問題
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]
npm WARN [email protected] requires a peer of [email protected]^4.3.0 but none was installed.
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm info ok
をインストールした後に、私は以下のエラーを取得するDockerFile
以下
FROM node:latest
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# Copy .env file
# Bundle app source
COPY . /usr/src/app
RUN cat package.json
EXPOSE 8000
とドッキングウィンドウでアプリケーションを実行しようとしているライブラリpackage.json
ファイル
"peerDependencies": {
"pg": "^4.3.0"
},
からの抜粋
私は別のライブラリpg-promise
も使用していますが、これもpg
に依存しています。しかし、node-pg-migrate
はそのピア依存関係としてpg
を指定するように思わながらpg-promise
は、その依存関係としてpg
を持っている、あなたが見ることができるようにエラー
が、これはpg-promise
package.jsonファイルのスニペット
"dependencies": {
"pg": "5.1",
"spex": "1.x",
"pg-minify": "0.3",
"manakin": "^0.4.6"
},
ある起こすように見えるdoesntの。それは
+-- UNMET PEER DEPENDENCY [email protected]
+-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| `-- [email protected]
だからPGがインストールされますないすべてのライブラリをインストールした後
事があるは、私はこれがどのようなNPM出力のスナップショットであるPGが実際pg-promise
経由でインストールされる見ることができます。..まだnode-pg-migrate
のように見えますが、まだライブラリを見つけることができません。
node | > [email protected] migrate /usr/src/app
node | > pg-migrate up
node |
node | module.js:457
node | throw err;
node | ^
node |
node | Error: Cannot find module 'pg'
node | at Function.Module._resolveFilename (module.js:455:15)
node | at Function.Module._load (module.js:403:25)
node | at Module.require (module.js:483:17)
node | at require (internal/module.js:20:19)
node | at Object.<anonymous> (/usr/local/lib/node_modules/node-pg-migrate/lib/db.js:5:10)
node | at Module._compile (module.js:556:32)
node | at Object.Module._extensions..js (module.js:565:10)
node | at Module.load (module.js:473:32)
node | at tryModuleLoad (module.js:432:12)
node | at Function.Module._load (module.js:424:3)
私はグローバルpg-migrate
ライブラリをインストールするだけでなく、Dockerfile
FROM node:latest
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm cache clean
RUN npm install -g node-pg-migrate
RUN npm install --save pg
RUN npm install
# Copy .env file
# Bundle app source
COPY . /usr/src/app
RUN cat package.json
EXPOSE 8000
を変更することにより、完全にスタンドアロンライブラリとしてpg
をインストールしようとしているが、私はまだかかわらず、私の同じエラーを取得しているようです行う。私が試すことができる他に何かありますか?