我使用travis-ci.org來測試Node.js模塊。 它使用最新的pg包來訪問PostgreSQL數據庫。使用PostgreSQL的「權限被拒絕」在Travis-CI中複製
集成測試需要使用的Postgres copy
命令(從事務中...不是psql的\copy
)來填充一些CSV數據的臨時表。 一切都通過本地 ...但特拉維斯-CI運行我打:
"COPY some_table(column_a,column_b) FROM
'/home/travis/build/my_org/my_repo/test/fixtures/some_file.csv' CSV HEADER;"
{ error: could not open file
"/home/travis/build/my_org/my_repo/test/fixtures/some_file.csv" for reading:
Permission denied
at Connection.parseE
(/home/travis/build/my_org/my_repo/node_modules/pg/lib/connection.js:567:11)
at Connection.parseMessage name: 'error',
...
所以文件Permission denied
是事情。我的noob Linux技能告訴我該文件在該位置存在。我已經嘗試chmod
到777,但沒有任何效果。
我連接到的Postgres上特拉維斯以字符串:
postgres://postgres:[email protected]:5432
以及與該井。 有一件事,我確實需要的PostgreSQL V9.6,所以我.travis.yml
文件看起來像:
language: node_js
node_js:
- "6"
services:
- postgresql
addons:
postgresql: "9.6"
sudo: false
dist: trusty
......這在過去一直偉大的工作,但是這是我第一次過使用copy
。
我想這與Postgres以某種方式運行的任何用戶有關?
任何幫助非常感激地收到!
添
謝謝@MichielB,工作的魅力! –