我正在尝试在我的OSX应用程序中使用Swift运行shell命令.
运行echo之类的基本命令可以正常运行,但是后续抛出
"env:node:没有这样的文件或目录"
@IBAction func streamTorrent(sender: AnyObject) {
shell("node", "-v")
}
func shell(args: String...) -> Int32 {
let task = NSTask()
task.launchPath = "/usr/bin/env"
task.arguments = args
task.launch()
task.waitUntilExit()
return task.terminationStatus
}
Run Code Online (Sandbox Code Playgroud)
运行系统命令时,我也会收到"sh:node:command not found".
system("node -v")
Run Code Online (Sandbox Code Playgroud)
更新:
不像下面的一些建议那么好,但我设法将命令回显到一个文件中并在终端中打开并执行:
system("echo node -v > ~/installation.command; chmod +x ~/installation.command; open ~/installation.command")
Run Code Online (Sandbox Code Playgroud) 我安装了node和npm,两者都运行正常.
但是,当我尝试通过以下方式安装快递时npm install -g express:
zsh:找不到命令:express.
我尝试在我的.zshrc文件中添加各种路径,但没有运气.
如果我回应$path我得到这个:
Users/Adam/.nvm/v0.10.26/bin /usr/local/heroku/bin /Users/Adam/.rbenv/shims /usr/local/bin /usr/bin /bin /usr/sbin /sbin
Run Code Online (Sandbox Code Playgroud)
如果我跑了npm - prefix -g我得到这个:
npm@1.4.3 /Users/Adam/.nvm/v0.10.26/lib/node_modules/npm
Run Code Online (Sandbox Code Playgroud)
使用mac osx 10和zsh.
我正在通过docker compose在Node和Redis上运行React应用:
version: "3"
services:
webapp:
build: ./
ports:
- "127.0.0.1:3000:9090"
depends_on:
- redis
command:
npm run start
nginx:
build: ./nginx
ports:
- "80:80"
environment:
- NGINX_HOST=127.0.0.1
- NGINX_PORT=80
command:
service nginx start
redis:
image: redis
ports:
- "6379:6379"
volumes:
- ./data:/data
Run Code Online (Sandbox Code Playgroud)
Docker文件:
FROM node:alpine
WORKDIR /usr/src/app
COPY package.json ./
RUN npm install
COPY . .
EXPOSE 9090
RUN npm run build_prod
Run Code Online (Sandbox Code Playgroud)
Server.js:
const redisClient = RedisClient.createClient(6379,'redis');
Run Code Online (Sandbox Code Playgroud)
我在运行docker-compose up --build时收到Redis连接拒绝错误:
redis_1 | 1:M 15 Nov 13:55:19.865 * Ready to accept …Run Code Online (Sandbox Code Playgroud)