我有一个jenkin管道,它运行在一个docker代理,当我运行ember建设我得到这个错误。任何想法我应该怎么做。我用
image 'node:latest'
我得到了这个错误
+ ./node_modules/.bin/ember build --env production
WARNING: Node v14.3.0 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
Could not start watchman
Visit https://ember-cli.com/user-guide/#watchman for more info.
Building
A system error occurred: uv_os_get_passwd returned ENOENT (no such file or directory)
2条答案
按热度按时间eqqqjvef1#
我需要做的就是添加从/etc/passwd到/etc/passwd的docker卷Map。
omhiaaxx2#
在容器中使用
node-gyp
时,此问题可能会掩盖另一个缺少路径或路径为只读的问题。os.userInfo()
用法是eaccesFallback的一部分,只有在无法访问文件路径时才应调用eaccesFallback。打开详细日志记录(
npm_config_loglevel=verbose
)以记录无法访问的路径,并改为挂载/修复该路径。根据我的经验,这修复了底层问题,并避免了挂载
/etc/passwd
,而挂载/etc/passwd
可能并不总是可能的,或者可能被认为是不安全的。当我使用
electron-builder
时,我在k8s pod中特别看到了这一点,并且不得不为.electron-gyp
文件夹创建一个空卷挂载: