OpenShift 自定义盒和 NPM

2024-03-22

我正在与一个社区开发的 OpenShift 卡带 https://github.com/gsterjov/openshift-nginx-cartridge对于 nginx。墨盒的构建脚本(无需任何修改)运行良好;它使用我提供的配置文件启动 nginx 服务器。但是,我正在尝试修改构建脚本,以便它首先将目录更改为我的 OpenShift 存储库,然后运行npm install进而grunt build构建我创建的 Angular 应用程序。

当我这样做时,我不断收到错误EACCES, mkdir '/var/lib/openshift/xxxxxxxxxx/.npm'当脚本到达时npm install. Some OpenShift 论坛帖子 https://www.openshift.com/forums/openshift/php-53-cartridge-npm-not-working-quickfix已尝试解决该问题,但似乎需要不同的解决方案(至少在我的情况下)。

因此,我感兴趣的是是否可以以这种方式使用 npm,或者我是否需要创建一个自己完成所有这些操作的盒式磁带。


由于我们通常没有创建所需的访问权限~/.npm,我们必须找到移动 npm 缓存的方法(通常~/.npm)和 npm 用户配置(通常~/.npmrc) 到可访问的文件夹以使事情顺利进行。以下信息部分来自错误报告 https://bugzilla.redhat.com/show_bug.cgi?id=1147762我就此事向 Redhat 提交了。

我们必须首先创建一个环境变量控制 .npmrc 的位置 https://www.npmjs.org/doc/misc/npm-config.html。我创建了一个名为的文件(可以通过 shell 访问我的应用程序).env in $OPENSHIFT_DATA_DIR。在此文件中,我放置了:

export NPM_CONFIG_USERCONFIG=$OPENSHIFT_HOMEDIR/app-root/build-dependencies/.npmrc

这移动了.npmrc目录到我们有读/写权限的地方。当然,我还必须创建目录.npmrc in $OPENSHIFT_HOMEDIR/app-root/build-dependencies/。然后,在我的预启动 webhook/构建脚本的早期,我放置了:

touch $OPENSHIFT_DATA_DIR/.env

这确保了配置位置的环境变量.npmrc每次我们部署/构建时都可以访问。现在我们可以移动 npm 缓存的位置。从跑步开始touch on the .env手动创建文件,并创建.npm目录在$OPENSHIFT_HOMEDIR/app-root/build-dependencies/。运行以下命令完成重新配置:

npm config set cache $OPENSHIFT_HOMEDIR/app-root/build-dependencies/.npm

现在,即使我们不使用 NodeJS 盒,每次部署时也应该可以访问 NPM。上述目录选择可以根据需要进行更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenShift 自定义盒和 NPM 的相关文章

  • nginx docker 容器:502 错误网关响应

    我有一个服务监听 8080 端口 这不是一个容器 然后 我使用官方镜像创建了一个 nginx 容器 docker run name nginx d v root nginx conf etc nginx conf d p 443 443 p
  • API 错误 (500):清单未知:清单未知

    it failes to pull the image with SHA256 digest identifier 不幸的是 这是 DockerHub 消除 Docker 1 9 守护进程的向后兼容性的副作用 当使用 Docker 1 10
  • Openshift 上的自定义 Node.js 版本

    我在运行自定义节点版本时遇到问题node0 10您可以在开放班次中找到墨盒here https github com DavidReinberger openshift meteor leaderboard customNode 我可以很好
  • NPM 无法安装依赖项 - 尝试解锁尚未锁定的内容

    我一直在尝试在我的 package json 文件上运行 npm install 但遇到了很多麻烦 我的所有依赖项上一直显示 错误 尝试解锁尚未锁定的 XXX 这是其中之一 Error Attempt to unlock tbd 0 6 4
  • -bash: gulp: 在 Mac 中找不到命令

    我尝试在 mac 中安装 gulp 如下所示 Is iMac itop npm root Users itop node modules Is iMac itop npm config set prefix usr local Is iMa
  • npm install -D sass-loader node-sass Vue.js 2021

    您好 问题是为 Vue js 设置 SASS 我跑 Node js 15 7 0 Vue js vue cli 4 5 11 这是我在运行此命令时在控制台中遇到的错误 npm install D sass loader 节点 sass np
  • 从React Redux中的package.json获取版本号(create-react-app)

    OP 编辑 如果其他人遇到此问题 该应用程序是使用创建的创建反应应用程序 https github com facebookincubator create react app 这限制导入到 src 文件夹内 但是如果你将react scr
  • Django + uwsgi + ngnix + 调试关闭 = 服务器错误(500)

    我正在尝试设置一个由 Django uwsgi Nginx 组成的生产服务器 我正在关注的教程位于此处http www panta info blog 3 how to install and configure nginx uwsgi a
  • 将应用程序级别用户名/用户 ID 注入 nginx/Apache 日志

    有没有办法将应用程序级别的用户名或 id 在本例中为 django 用户名或 id 注入 Apache 或 ngnix 日志中 请注意 我不是询问 HTTP 身份验证用户名 我目前正在使用一个简短的自定义中间件将此数据添加到响应标头 如下所
  • nginx server_name 在流块内可能吗?

    目前设置如下 stream server listen 9987 udp server name subdomain EXAMPLE com this line is resulting in an error proxy pass loc
  • gyp ERR,Npm 无法获取本地颁发者证书

    我正在致力于 Windows 10 的全新安装 唯一的事情是我安装了 cygwin 以在 cmd 中获取 unix 命令 当我打字时npm install g angular cli它下载了必要的文件 但我收到错误 gyp ERR conf
  • npm install 始终使用神器注册表并忽略 .npmrc 文件

    我的 npmrc 文件以前包含registry https company jfrog io如此一来npm install使用了该注册表 现在我想在我的个人项目中使用公共注册表 但即使我删除了 npmrc 文件 甚至在包含公共注册表的项目根
  • Node.js“需要”其他文件而不需要命名空间

    我正在将代码库从 100 浏览器端切换为浏览器端和服务器端的混合 我发现的问题是 要让我的代码使用 node js 运行 我必须使用模块 为了将我的代码变成模块 需要对几乎所有代码进行巨大的重构 原因是在浏览器上 许多功能是跨文件使用的 而
  • 如何修复 Nginx 自动 301 重定向到带有尾部斜杠的相同 URL?

    当我尝试将 Web 应用程序的子目录中的索引文件访问到相同的 URL 但附加了斜杠 时 Nginx 出现了不良行为 它正在重新路由请求 我有一个简单的 Web 应用程序 其中设置了一个根目录和其中的许多子目录 每个子目录中都有一个 inde
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • npm install 不起作用,抛出错误

    我正在尝试在 nodejs 中安装 yo 和其他一些软件包 但是我不断收到错误 我是节点新手 所以我有点迷失 我运行的是 Mac OS X 10 10 3 我正在使用的命令是 sudo npm install global yo 这样做会给
  • 使用 Nginx 在 Docker 容器内部署带有路由器的 Angular2

    我正在尝试部署一个使用框架的路由器功能的 Angular 2 但在 docker 容器内使用 nginx 为其提供服务时遇到一些问题 由 angular cli 构建的 Angular 应用程序具有如下文件结构 dist 08c42df75
  • 如何上传文件 - sails.js

    我可以下载图像和 pdf 但无法下载文档文件 doc pptx odt 下载文档 doc pptx odt 时 仅将其下载为 ZIP XML 文件 我可以做什么 我在用着 填写上传文件文档 https github com balderda
  • 错误请求 400:nginx/gunicorn

    我已经遵循了这个教程 http blog wercker com 2013 11 25 django 16 part3 html http blog wercker com 2013 11 25 django 16 part3 html我现
  • 为 npm install 添加本地项目依赖

    在 npm 中添加本地项目依赖项的正确语法是什么package json file 我本地有 git 项目C projects MyApp 我想得到这个项目npm install 我尝试以下 dependencies my app file

随机推荐

  • 在服务器路径写入文件时如何传递凭据?

    我想在服务器路径写入一个文件 但是当我尝试这样做时 我们得到了异常 我们没有权限这样做 我们有一个有权在服务器路径写入的应用程序 ID 和密码 但我不知道如何传递此凭据 我当前的代码 Create a new GUID extract th
  • 是否有符合 .NET FIPS 标准的密钥 SHA256 哈希算法?

    我正在使用 HMACSHA256 和以下代码创建一个密钥 SHA256 哈希 HMACSHA256 hmac new HMACSHA256 Encoding UTF8 GetBytes secretKey byte hash hmac Co
  • 如何使用 z-index 进行相对定位?

    我有一个问题z index和我的代码 我想在每一行上都有一个弹出窗口 相对于该行定位 所以我创建了这段代码 level1 position relative z index 2 level2 position relative z inde
  • .htaccess:此处不允许使用 RewriteEngine

    我将 htaccess 上传到服务器并收到错误 500 内部服务器错误 在错误日志中我有以下错误 htaccess 此处不允许 RewriteEngine But mod rewrite so已启用 那么我需要改变吗
  • Android Textview斜体和wrap_contents

    我正在使用 3 个不同颜色的斜体文本视图
  • 将 Jar 文件与 -classpath JAVA 组合

    我有一个关于编译一个 Jar 文件中有一些依赖类的类的问题 MyJar jar 通过将目录树放入 classpath 选项中 例如 javac cp MyJar MyClass java 是检查所有子目录中的类还是仅检查目录树中的顶级类 提
  • 字节的二进制读取仅返回一个值。 C#

    当我期望 0 1 2 3 时 控制台显示 0 0 0 0 这是以下版本的修改版本 https msdn microsoft com en us library system io binarywriter v vs 110 aspx htt
  • 如何将 QTextTable 中的文本居中

    我正在使用 qt 框架开发应用程序 现在我想将表格数据保存为 pdf 我正在使用 QTextTable 和 QTextDocument 类 但是我无法将单元格中的文本居中 我该怎么做呢 感谢帮助 如果您想在插入文本时进行对齐 可以使用 Al
  • 将 JSON 反序列化为匿名对象

    在 C 中 我通过使用这样的代码成功地将匿名对象序列化为 JSON var obj new Amount 108 Message Hello JavaScriptSerializer serializer new JavaScriptSer
  • Asp.Net MVC - 具有两个相同类型列表的强类型视图

    我有一个强类型化到 Item 类的视图 在我的控制器中 我需要发送两个不同的列表 除了创建一个带有两个 List 的新类之外 还有更简单的方法可以做到这一点吗 我最终想要做的是在我的主页上有 10 个按日期排序的项目 以及 10 个按人气排
  • ReactJS 如何添加显示更多/显示更少按钮

    我是 React 新手 我想向我的应用程序添加一个简单的 显示更多 按钮 我有一个包含数据的数组 我想在其中默认显示 3 个条目 当用户点击show more 应呈现其余数据 并且按钮应将文本更改为show less 我不太确定该怎么做 这
  • 如何确定当前用户位置是否在我的 MKCooperativeRegion 内?

    我有一个坐标区域 我已确定该区域包含我想要为我的应用程序显示的内容的限制 我已将其设置为具有中心点纬度 经度和跨度的 MKCooperativeRegion 如何确定当前 userLocation 是否在我的坐标区域内 使用地图矩形 这是使
  • 检查数组是否包含重复值[重复]

    这个问题在这里已经有答案了 我想编写一个 JavaScript 函数来检查数组是否包含重复值 我编写了以下代码 但其给出的答案始终为 true 谁能告诉我我错过了什么 function checkIfArrayIsUnique myArra
  • 如何在 Docker 容器(Python、Flask 和 Redis)中启动自定义 RQ Worker

    我遵循 Miguel Grinberg 的优秀 Flask Mega 教程 成功设置了一个包含 Redis 任务队列和 RQ 工作线程的 Flask Web 应用程序 所有这些都在 Docker 容器中 为了提高任务队列性能 我现在需要使用
  • 如何在flutter中解析复杂的json

    我无法从复杂的 json 中获取数据 下面是请求中的 json results TotalRecordCount 1 Records code PCK 34333338365C93E2D50DB9C address 1 AV KHEIRED
  • Python 中的 Codewars Scramblies [重复]

    这个问题在这里已经有答案了 这是对代码战争臭名昭著的参考争夺 https www codewars com kata 55c04b4cc56a697bb0000048 train python我无法理解为什么我的简单代码性能缓慢 根据 co
  • 在 Java 中初始化复杂静态成员的最佳方法是什么?

    我的目标是拥有一个私人静态Properties我的类中的对象 在创建其他对象时充当默认值Properties我的应用程序所需的对象 当前的实现如下所示 public class MyClass private static Properti
  • 如何从UTF-8字符串的每个字符中获取UNICODE代码?

    使用 C 11 我如何从 UTF 8 编码std string 将文本每个字符的Unicode值放入一个uint32 t 就像是 void f const std string utf8 str for uint32 t code Do m
  • Facebook:图形 API 回调 / 实时 API / 公共 Feed API

    我正在开发一个社交媒体项目 我需要关注一些粉丝专页并收听该特定页面上发生的所有事情 我确实知道有一些数据经销商 例如GNIP http gnip com Datasift http datasift com 谁能给我提供这样的数据 我已经尝
  • OpenShift 自定义盒和 NPM

    我正在与一个社区开发的 OpenShift 卡带 https github com gsterjov openshift nginx cartridge对于 nginx 墨盒的构建脚本 无需任何修改 运行良好 它使用我提供的配置文件启动 n