我一直在为网站使用MEAN堆栈运行一个NodeJS服务器,它已经运行了几个月.当我今天早上再次开始工作时,我开始使用以下网站:
nodemon server/app.js
Run Code Online (Sandbox Code Playgroud)
快速服务器启动就好了,但是一旦我用浏览器连接它,我就会收到以下错误:
节点:重定位错误:节点:符号SSL_set_cert_cb,版本libssl.so.10未在文件libssl.so.10中定义,链接时间参考[nodemon]无法启动进程,"node"exec未找到
而当我这样做时node server/app.js,我得到了同样的结果node: relocation error...,但是没有得到...failed to start process...
我不认为这是我在过去几天所做的任何更改,因为我去了另一个运行它的服务器(代码已经有几周了),然后我重新启动了nodejs进程,然后它我访问该网站时破了.
npm版本:3.10.10,节点版本:6.11.3,CentOS Linux版本7.3.1611
我正在尝试在这里获取此Dockerfile- https://github.com/ForgeRock/forgeops/blob/release/6.5.0/docker/util/Dockerfile
并更改旧版本为Alpine linux(如下所示):
FROM alpine:3.7
...
RUN apk add --update ca-certificates \
&& apk add --update -t deps curl\
&& curl -L https://storage.googleapis.com/kubernetes-release/release/${KUBE_LATEST_VERSION}/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \
&& chmod +x /usr/local/bin/kubectl \
&& apk del --purge deps \
&& apk add --update jq su-exec unzip curl bash openldap-clients \
&& rm /var/cache/apk/* \
&& mkdir -p $FORGEROCK_HOME \
&& addgroup -g 11111 forgerock \
&& adduser -s /bin/bash -h "$FORGEROCK_HOME" -u 11111 -D -G forgerock forgerock
Run Code Online (Sandbox Code Playgroud)
对其进行更改以使其脱离RHEL 7(我在下面的更改)
FROM ubi7-stigd:7.6 …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行ionic cordova build --release android,但这是错误的:
CordovaError: Failed to find 'ANDROID_HOME' environment variable. Try setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
Run Code Online (Sandbox Code Playgroud)
我正在使用Windows 10,但我正在使用linux子系统(所以我正在做所有的Linux命令等...).
我进入了我的系统变量并输入了适用于Windows的Android SDK内容,如下所示:
但是当我回到bash/shell时,当我这样做时echo $ANDROID_HOME,它并没有显示我设置的路径.我应该安装适用于Linux的Android SDK并指出它吗?或者有一些我可以将这个ANDROID_HOME路径指向我的C:/驱动器,因为当我在Linux子系统上时我认为没有C:/驱动器
如果我使用 Chrome 插件向特定服务器发出 POST 请求,我可以看到“响应正文”以 JSOn 格式返回就好了。
但是,当我尝试使用“请求”或“https.request”执行此操作时,“正文”作为 unicode 返回,我似乎无法破译。任何人都知道我如何让身体恢复为常规的 JSON,或者我如何破译这个 unicode?我尝试了一些 stackoverflow 解决方案来破译 unicode,但没有运气。
原始身体:
??RPP?M-.NLOUR?RP?I,?K?P?,V??/QHL.?,KU??J?O?*?
???????wt?
?U????>H ---
Run Code Online (Sandbox Code Playgroud)
如果我这样做: JSON.stringify(body, null, 4)
"\?001°?\?\?0000\?0000\?0000\?0000\?0000\?0000\?0000??RPP?M-.NLOUR?RP?I,?K?P?,V??/QHL.?,KU?\?0001?J?O?*?\°??????\?000°???\?000??\°?U?\?0005\?0000???>H\?0000\?0000\?0000"
Run Code Online (Sandbox Code Playgroud)
这是我用来尝试发出 POST 请求的两个代码片段:
request({
'url': 'https://api.nike.com/launch/entries/v2',
'method': 'POST',
'json': entriesPayload,
'headers': {
'authorization': authId,
"Accept": "application/json, text/plain, */*",
'Content-Type': "application/json;charset=utf-8"
},
},
...
Run Code Online (Sandbox Code Playgroud)
和:
var options = {
hostname: 'api.nike.com',
port: 443,
path: '/launch/entries/v2',
method: 'POST',
json: entriesPayload,
headers: {
'authorization': authId,
"Accept": "application/json, text/plain, */*",
'Content-Type': 'application/json;charset=utf-8'
}
};
var req = https.request(options, (res) …Run Code Online (Sandbox Code Playgroud) 我的有角4.3.2代码正在调用我的后端服务,该服务需要2-4分钟才能返回。仅使用默认this.http.get代码,我看到默认超时在2分钟后开始。但是,当我尝试将超时时间设置为超过2分钟时,它将失败,因为它将永远不会使超时时间超过2分钟。
我尝试使用100、100000(1.7m)和114000(1.9m),并且在这些值下超时的工作方式是正确的。但是当我尝试126000(2.1m),180000(3m)和1800000(30m)时,我再次看到它在2分钟后超时。
this.http.get('myUrl')
.timeout(126000)
.map((res: Response) => this.convertResponse(res));
Run Code Online (Sandbox Code Playgroud)
我也尝试了一下,.timeoutWith(126000, Observable.throw(new Error("Timed out")))但无济于事。
node.js ×2
alpine-linux ×1
android ×1
angular ×1
centos7 ×1
cordova ×1
forgerock ×1
https ×1
javascript ×1
npm ×1
npm-install ×1
openam ×1
post ×1
rhel ×1
rhel7 ×1