小编krs*_*ung的帖子

运行Docker时尚未检出git源

我正在尝试使用GitHub中的gem时遇到错误.我的Gemfile中有以下内容:

# Gemfile
source 'https://rubygems.org'
ruby '2.3.1'

gem 'sinatra'
gem 'rack'
gem 'puma'

group :development do
  gem 'byebug'
  gem 'rack-test'
  gem 'rerun', github: 'alexch/rerun', branch: 'master'
end
Run Code Online (Sandbox Code Playgroud)

当我bundle installDockerfile它运行时,使用如下消息:

...
Installing sinatra 1.4.6
Installing listen 3.1.5 (was 3.0.6)
Using rerun 0.11.0 from git://github.com/alexch/rerun.git (at master@3e4c486)
Bundle complete! 6 Gemfile dependencies, 14 gems now installed.
...
Run Code Online (Sandbox Code Playgroud)

但是,当我开始容器时,我得到:

The git source git://github.com/alexch/rerun.git is not yet checked out. Please run `bundle install` before trying to start your application
Run Code Online (Sandbox Code Playgroud)

我见过类似的问题,但与Docker无关.

ruby rubygems bundler docker

9
推荐指数
1
解决办法
2455
查看次数

如何添加 Slack 消息按钮以打开与用户的直接聊天?

我有一个 Slack 机器人,它需要返回一条消息,其中包括 Slack 用户列表和一个按钮来向每个用户发送消息。

我希望用户的参与体验保持一致。如果用户通过桌面 Slack 应用程序与机器人交互,那么我希望用户留在应用程序中(不要被带到网络客户端——他们可能没有经过身份验证)。

就像是:

Results:

User A - click link to view User A's profile in Slack
[Message] - click button to open direct message with user A

User B - click link to view User B's profile in Slack
[Message] - click button to open direct message with user B
Run Code Online (Sandbox Code Playgroud)

我被困在几个问题上:

  1. 如何链接到用户的个人资料,因为我不知道他们使用的是 Slack 应用程序还是 Slack 网络(因此如何在显示slack://user?team=&id=..domain.slack.com/team/{id}接近之间做出决定?这是假设我使用title_linkauthor_link属性。

  2. 如何创建一个消息按钮来向用户打开直接消息(甚至更好地打开它并预填充消息)?我目前一直在玩链接动作,但没有任何运气。

我想我可以通过让机器人发送 DM 然后 @mention 原始用户来解决它。从用户体验的角度来看不是很好。

更新

感谢 Adil 和 …

slack-api slack botkit

8
推荐指数
1
解决办法
3144
查看次数

Codeship Basic npm 安装失败错误:SSL 错误:CERT_UNTRUSTED

我有一个一致的问题,我的 Codeship Basic 设置步骤在运行时失败npm install

npm http GET https://registry.npmjs.org/babel-runtime
npm ERR! Error: SSL Error: CERT_UNTRUSTED
npm ERR!     at ClientRequest.<anonymous> (/home/rof/.nvm/v0.6.21/lib/node_modules/npm/node_modules/request/main.js:440:26)
npm ERR!     at ClientRequest.g (events.js:156:14)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1256:7)
npm ERR!     at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:91:29)
npm ERR!     at CleartextStream.socketOnData [as ondata] (http.js:1288:20)
npm ERR!     at CleartextStream._push (tls.js:375:27)
npm ERR!     at SecurePair.cycle (tls.js:734:20)
npm ERR!     at EncryptedStream.write (tls.js:130:13)
npm ERR!     at Socket.ondata (stream.js:38:26)
npm ERR!  [Error: SSL Error: CERT_UNTRUSTED]
npm …
Run Code Online (Sandbox Code Playgroud)

node.js npm codeship npm-install

2
推荐指数
1
解决办法
1580
查看次数

用于rails应用程序的Gemfile中的环境的不同ruby版本

我目前正在使用capistrano 3在多个环境中部署我的rails 4应用程序.我想尝试在开发中转向ruby 2.1.2(我在stage/prod中运行2.0.0).假设我使用rbenv,是否有可能在单个Gemfile中以某种方式指定它?

我试图跟随我Gemfile但无济于事:

# Gemfile
group :development do
  ruby '2.1.2'
end

group :staging, :production do
  ruby '2.0.0'
end
Run Code Online (Sandbox Code Playgroud)

当cap部署在开发上运行时,由于感知的版本不匹配而中止.

Your Ruby version is 2.1.2, but your Gemfile specified 2.0.0
Run Code Online (Sandbox Code Playgroud)

这是它试图运行的命令.

cd /home/rails/releases/20140701151045 && ( RBENV_ROOT=~/.rbenv RBENV_VERSION=2.1.2 RAILS_ENV=development RBENV_ROOT=~/.rbenv RBENV_VERSION=2.1.2 ~/.rbenv/bin/rbenv exec bundle exec rake assets:precompile )
Run Code Online (Sandbox Code Playgroud)

非常感谢您的想法.谢谢!


更新 从@toolz输入并查看捆绑代码后,这是不可能的(或者一个好主意).有几种选择:

  1. 从Gemfile中删除"ruby"条目(一切顺利)
  2. 创建单独的Gemfiles
  3. 为移动到新的Ruby版本创建一个单独的分支

我选择#3选项,它将解决我的问题,似乎是最好的做法.

ruby ruby-on-rails capistrano3

1
推荐指数
1
解决办法
981
查看次数