首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sh: lerna:在使用docker运行应用程序时未找到

sh: lerna:在使用docker运行应用程序时未找到
EN

Stack Overflow用户
提问于 2019-10-27 01:25:20
回答 2查看 1.9K关注 0票数 0

我正在尝试使用docker file在演示下面运行。

https://github.com/OpusCapita/fsm-workflow

我的docker file

代码语言:javascript
复制
# Docker context should be "<repo-root>"

FROM node:8-alpine
LABEL maintainer="OpusCapita"

ENV HOST 0.0.0.0
ENV PORT 3020

COPY ./ /demo

WORKDIR /demo

RUN npm i --unsafe-perm && \
  cd ./packages/examples/complete-demo && \
  npm run demo:build

WORKDIR /demo/packages/examples/complete-demo

CMD ["npm", "run", "demo:start"]

EXPOSE $PORT
© 2019 GitHub, Inc.

在部署时获取此错误。

代码语言:javascript
复制
sh: lerna: not found

npm ERR! file sh

日志

代码语言:javascript
复制
Building image...
Step 1/10 : FROM node:8-alpine


 ---> e8b2a6e1bbd7

Step 2/10 : LABEL maintainer="OpusCapita"


 ---> Using cache

 ---> 2ee8a0ffc36f

Step 3/10 : ENV HOST 0.0.0.0


 ---> Using cache

 ---> 3980c8fcd99c

Step 4/10 : ENV PORT 3020


 ---> Using cache

 ---> 04cd54009ba2

Step 5/10 : COPY ./ /demo


 ---> b321c3cc1ac5

Step 6/10 : WORKDIR /demo


 ---> Running in fbf59913ad9b

Removing intermediate container fbf59913ad9b

 ---> 1cd94112afd1

Step 7/10 : RUN npm i --unsafe-perm && npm install -g rimraf && npm install --g lerna &&   cd ./packages/examples/complete-demo &&   npm run demo:build


 ---> Running in 35dceefe2cb8


> @opuscapita/fsm-workflow@ postinstall /demo
> npm run bootstrap



> @opuscapita/fsm-workflow@ bootstrap /demo
> lerna bootstrap


sh: lerna: not found

npm ERR! file sh

npm ERR!
 code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR!
 @opuscapita/fsm-workflow@ bootstrap: `lerna bootstrap`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the @opuscapita/fsm-workflow@ bootstrap script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
EN

回答 2

Stack Overflow用户

发布于 2021-09-16 10:01:55

如果您有要生产的NODE_ENV,而且您的lerna是对package.json的开发依赖,那么您就会遇到这样的问题;)

只需在构建时将NODE_ENV设置为在您的docker文件上进行开发,然后做您所做的一切来重置它或不重置它。

票数 1
EN

Stack Overflow用户

发布于 2019-10-27 01:43:01

lerna.json上的行尾更改为UNIX (LF),然后再次运行。

当您再次运行时,如果对另一个文件得到类似的错误,这意味着我们找到了问题(行尾)。

我建议在您的Dockerfile中为所有JSONtxtjshtml文件在文件夹中运行一个txt或类似的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58575969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档