2016-08-22 8 views
0

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をインストールしようとしているが、私はまだかかわらず、私の同じエラーを取得しているようです行う。私が試すことができる他に何かありますか?

答えて

0

"pg":"^4.3.0"をpackage.jsonに追加しました。現在は動作しているようです。 pg-migrateは、非常に具体的なバージョンpgを探します。