Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Jailkit中设置nodejs和npm_Node.js_Ubuntu_Npm_Chroot_Jail Shell - Fatal编程技术网

Node.js 在Jailkit中设置nodejs和npm

Node.js 在Jailkit中设置nodejs和npm,node.js,ubuntu,npm,chroot,jail-shell,Node.js,Ubuntu,Npm,Chroot,Jail Shell,我在服务器上使用jailkit,我想在chrooted环境中添加对nodejs和npm的支持。我不知道我是否丢失了一些需要链接到我的监狱的目录,或者一些lib或binary,但我完全迷路了。我在jk_init.ini中添加了以下内容: [node] comment = NodeJS executables = /usr/bin/npm, /usr/bin/node, /usr/bin/nodejs directories = /usr/local/lib/node_modules 如果我从我的

我在服务器上使用jailkit,我想在chrooted环境中添加对nodejs和npm的支持。我不知道我是否丢失了一些需要链接到我的监狱的目录,或者一些lib或binary,但我完全迷路了。我在jk_init.ini中添加了以下内容:

[node]
comment = NodeJS
executables = /usr/bin/npm, /usr/bin/node, /usr/bin/nodejs
directories = /usr/local/lib/node_modules
如果我从我的root用户运行
npmls
,它运行良好。如果我试图从我的囚禁环境中运行它,我会得到以下错误:

npm ERR! Linux 3.16.0-28-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "ls"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! code MODULE_NOT_FOUND

npm ERR! Cannot find module 'ansi'
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /web/npm-debug.log
npm错误!Linux 3.16.0-28-generic
npm错误!argv“/usr/bin/nodejs”“/usr/bin/npm”“ls”
npm错误!节点v4.2.6
npm错误!npm v3.5.2
npm错误!找不到代码模块
npm错误!找不到模块“ansi”
npm错误!
npm错误!如果需要帮助,您可以在以下位置报告此错误:
npm错误!
npm错误!请在任何支持请求中包括以下文件:
npm错误/web/npm-debug.log
日志文件包含以下内容:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'ls' ]
2 info using npm@3.5.2
3 info using node@v4.2.6
4 verbose stack Error: Cannot find module 'ansi'
4 verbose stack     at Function.Module._resolveFilename (module.js:326:15)
4 verbose stack     at Function.Module._load (module.js:277:25)
4 verbose stack     at Module.require (module.js:354:17)
4 verbose stack     at require (internal/module.js:12:17)
4 verbose stack     at Object.<anonymous> (/usr/share/npm/lib/ls.js:15:13)
4 verbose stack     at Module._compile (module.js:410:26)
4 verbose stack     at Object.Module._extensions..js (module.js:417:10)
4 verbose stack     at Module.load (module.js:344:32)
4 verbose stack     at Function.Module._load (module.js:301:12)
4 verbose stack     at Module.require (module.js:354:17)
5 verbose cwd /web
6 error Linux 3.16.0-28-generic
7 error argv "/usr/bin/nodejs" "/usr/bin/npm" "ls"
8 error node v4.2.6
9 error npm  v3.5.2
10 error code MODULE_NOT_FOUND
11 error Cannot find module 'ansi'
12 error If you need help, you may report this error at:
12 error     <https://github.com/npm/npm/issues>
13 verbose exit [ 1, true ]
0信息如果它以ok结尾,它就工作了
1详细cli['/usr/bin/nodejs','/usr/bin/npm','ls']
2信息使用npm@3.5.2
3信息使用node@v4.2.6
4详细堆栈错误:找不到模块“ansi”
Function.Module.\u resolveFilename(Module.js:326:15)处的4个详细堆栈
在Function.Module.\u load(Module.js:277:25)处有4个详细堆栈
Module.require处有4个详细堆栈(Module.js:354:17)
需要时有4个详细堆栈(内部/module.js:12:17)
4对象上的详细堆栈。(/usr/share/npm/lib/ls.js:15:13)
模块处有4个详细堆栈。\u编译(Module.js:410:26)
Object.Module._extensions..js(Module.js:417:10)处的4个详细堆栈
Module.load处的4个详细堆栈(Module.js:344:32)
在Function.Module.\u load(Module.js:301:12)处有4个详细堆栈
Module.require处有4个详细堆栈(Module.js:354:17)
5详细的cwd/web
6错误Linux 3.16.0-28-generic
7错误argv“/usr/bin/nodejs”“/usr/bin/npm”“ls”
8错误节点v4.2.6
9错误npm v3.5.2
10未找到错误代码模块
11错误:找不到模块“ansi”
12错误如果您需要帮助,可以在以下位置报告此错误:
12错误
13详细退出[1,true]

我正在用ISPConfig运行最新版本的Ubuntu。今天我也遇到了这个问题,通过更改

directories = /usr/local/lib/node_modules 

Debian Jessie,也在ISPConfig上

记住触发

jk_init -c /etc/jailkit/jk_init.ini -f -k -j /var/www/clients/clientX/web62 node

不要忘记添加环境可执行文件

[env]
comment = environment variables
executables = /usr/bin/env

[node]
comment = NodeJS
executables = /usr/bin/npm, /usr/bin/node, /usr/bin/nodejs
directories = /usr/lib/node_modules

我也遇到了同样的问题,但对我来说,
找不到模块npmlog
。你找到解决办法了吗?
[env]
comment = environment variables
executables = /usr/bin/env

[node]
comment = NodeJS
executables = /usr/bin/npm, /usr/bin/node, /usr/bin/nodejs
directories = /usr/lib/node_modules