Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 从docker容器内部发布NPM包_Node.js_Git_Docker_Npm - Fatal编程技术网

Node.js 从docker容器内部发布NPM包

Node.js 从docker容器内部发布NPM包,node.js,git,docker,npm,Node.js,Git,Docker,Npm,我拼命想把我的NPM包发布到我们的NPM回购协议上。 我不断收到一个错误,说我的工作目录不干净,我不能让我的头围绕它 这是我的Dockerfile: FROM node:12 ARG VERSION COPY .npmrc /root/.npmrc COPY .gitconfig /root/.gitconfig COPY .git-credentials /root/.git-credentials WORKDIR /home/node/app/ COPY package.json p

我拼命想把我的NPM包发布到我们的NPM回购协议上。 我不断收到一个错误,说我的工作目录不干净,我不能让我的头围绕它

这是我的Dockerfile:

FROM node:12

ARG VERSION

COPY .npmrc /root/.npmrc
COPY .gitconfig /root/.gitconfig
COPY .git-credentials /root/.git-credentials

WORKDIR /home/node/app/

COPY package.json package.json

RUN npm install

COPY . .

RUN npm run release:testless -- ${VERSION}
package.json:

  "scripts": {
    "prepare": "npm run prepare:util",
    "prepare:util": "npm explore vl-ui-util -- npm run install:copy",
    "test": "wct -l chrome,firefox --npm",
    "release": "npm run release:prepare && np",
    "release:prepare": "npm run release:prepare:build",
    "release:prepare:build": "npm run build",
    "release:prepare:commit": "git add -f vl-map.js && git commit --amend --no-edit && git pull",
    "release:testless": "npm run release:prepare && np --yolo",
    "demo": "npm run dev",
    "dev": "concurrently \"npm:bundle:watch\" \"http-server\"",
    "build": "npm run bundle:build",
    "bundle:watch": "rollup --config rollup.config.js --watch",
    "bundle:build": "rollup --config rollup.config.js"
  }
这导致:

npm ERR! Git working directory not clean.

我通过在容器内进行克隆来解决问题,而不是让Bambol进行克隆并将我的所有源文件复制到容器中。

我通过在容器内进行克隆来解决问题,而不是让Bambol进行克隆并将我的所有源文件复制到容器中。

好吧,你已经在,显然包括了
.git/
目录,然后在其中构建了一些新文件。也许你看,我不会把这个放在我的档案里。如果我有一些已经在本地验证过的更改,并且我正在尝试构建一个Docker映像,以便在真正部署之前对其进行测试,那么我不希望将未经充分测试的代码发布到NPM。我也不希望人们从我构建的映像中删除有效的GitHub凭据。在Docker外部运行此操作。@jonrsharpe如果我不在.git文件夹中复制,我将无法在容器内执行任何git操作,因为它将不会被识别为git repo。在David,它是在没有节点环境的Bambol上运行的,因此它必须构建在具有节点环境的容器中。您已经复制了其中的所有内容,显然包括
.git/
目录,然后在其中构建了一些新文件。也许你看,我不会把这个放在我的档案里。如果我有一些已经在本地验证过的更改,并且我正在尝试构建一个Docker映像,以便在真正部署之前对其进行测试,那么我不希望将未经充分测试的代码发布到NPM。我也不希望人们从我构建的映像中删除有效的GitHub凭据。在Docker外部运行此操作。@jonrsharpe如果我不在.git文件夹中复制,我将无法在容器内执行任何git操作,因为它将不会被识别为git repo。在David,它是在没有节点环境的竹子上运行的,因此它必须构建在具有节点环境的容器中。