我不是在编写节点模块或发布节点,只是想使用https://github.com/dataverity/chromehtml2pdf,它只是围绕google chrome puppeteer的包装。
我有一个工作的docker容器,它产生了package-lock.json
,现在我想使用所有节点树的相同版本来构建另一个容器。我正在使用npm 6.9.0。
如果我尝试使用npm ci
,它将抱怨没有package.json
文件。我用一个名称和版本创建了一个,它告诉我0 packages added
。
我尝试使用npm install
,它将package-lock.json
替换为仅引用我的包裹的一个。
运行npm init --y
似乎也忽略了锁定文件,尽管有一些SO注释表明它应该使用锁定文件来构造树。
如何使用package-lock.json
文件在docker中构建匹配的节点环境?
更新:
真是一团糟:请参阅https://github.com/zkat/cipm/issues/61和
https://github.com/npm/npm/issues/17979
看来这是个雷区。我看到了对一个单独的几乎未记录的工具,称为cipm
的引用,但该工具可能已被npm ci
部分吸收,但对此却进行了详细记录。
尝试使用裸露的package.json
进行安装和运行,但收到的错误可能来自cipm,因为它不在package-lock.json
文件中:Cannot find module 'validate-npm-package-name'