Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 61

0
votes
answers
29 views
+10

特拉維斯MIPS交叉編譯

3

如何設置一個.travis.yml爲MIPS目標交叉編譯?對於PowerPC,這是微不足道的:特拉維斯MIPS交叉編譯

addons: 
    apt: 
     packages: 
     - gcc-powerpc-linux-gnu 

由於我有權訪問軟件包directly

對於MIPS我無法在Ubuntu忠實的找到一個編譯器爲它:

即使它似乎被列入白名單:

看來我需要一個更新的Ubuntu圖像(上特拉維斯不可能):

的替代的解決方案將是使用一些預建立MIPS編譯器,例如:

但文件明確地,而不是說緩存那些事:

大文件是安裝迅速,但是進展緩慢,下載做 受益於高速緩存,因爲他們採取只要從緩存 從下載原始來源:

  • Android SDK
  • Debian軟件包
  • JDK軟件包
  • 編譯的二進制文件
  • 泊塢窗圖像

你如何安裝Ubuntu默認特拉維斯圖像上的MIPS交叉編譯?


更新我嘗試了天真的解決方案:

addons: 
    apt: 
    sources: 
    - debian-sid 
    packages: 
    - gcc-mips-linux-gnu 

但這種失敗:

dpkg-deb: error: archive '/var/cache/apt/archives/gcc-7-base_7.2.0-18_amd64.deb' has premature member 'control.tar.xz' before 'control.tar.gz', giving up 
dpkg: error processing archive /var/cache/apt/archives/gcc-7-base_7.2.0-18_amd64.deb (--unpack): 
subprocess dpkg-deb --control returned error exit status 2 

看來dpkg在Ubuntu /忠實的將不支持這些DEB文件:

沙发
0
1

看來我不能使用基於的,因爲這個要求的容器,我放棄了,只是用:

sudo: true 
dist: trusty 

addons: 
    apt: 
    packages: 
    - u-boot-tools 

before_install: 
    - sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu/ xenial main universe" 
    - sudo apt-get -qq update 
    - sudo apt-get install -qq gcc-mips-linux-gnu 

我仍然一個事實,即gcc-mips-linux-gnu是明確列入白名單的興趣。

0
votes
answers
21 views
+10

我們可以將WSL升級到最新的Ubuntu Kernel版本和GCC CLang編譯器版本嗎?

4

我目前使用Windows10瀑布創作者更新。 使用Windows Store Ubuntu App安裝了WSL,它顯示當前的Ubuntu版本是16.04我們可以將WSL升級到最新的Ubuntu Kernel版本和GCC CLang編譯器版本嗎?

  • 它怎麼升級到Ubuntu 17.04或18.04?我們應該等待微軟發佈嗎?
  • 如何安裝最新版本GCC/G ++ 7.2CLANG/CLANG ++ 5.0 WSL中的編譯器?或者我們如何才能將當前的編譯器升級到WSL的最新版本?
+1

您可以將Ubuntu用戶空間(不是內核)升級到最新版本。看看我的GitHub問題[#2618](https://github.com/Microsoft/WSL/issues/2618)。但並非所有功能都能正常工作。 – Biswapriyo

+0

@Biswa thanx信息' –

沙发
0
1

首先,WSL沒有配備Linux內核。相反,它使用了Windows的一部分LXCORE.SYS

我對Ubuntu不是很熟悉,但是18.04顯然是仿生的發行版,它配備了glibc 2.26。已知某些版本的glibc 2.26不能與LXCORE.SYS一起使用,因爲所有程序在啓動過程中都會崩潰。我無法在WSL上使用coredumps,所以我無法進一步調試。這意味着Ubuntu 18.04可能根本無法工作。 Ubuntu 17.04使用glibc 2.24,所以它不受這個特殊問題的影響。

要試驗這個(並且能夠訪問更新的編譯器版本),您可以使用pbuilder來創建chroot環境並安裝Debian sid或buster(例如)。

+0

感謝您的快速信息。 –

+0

我在WSL中安裝了clang 5.0,但不支持'clang ++'或'clang'命令,即使對於gcc/g ++ 7.2 –

+0

您安裝了哪個版本的Clang? –

3
votes
answers
16 views
+10

How to install .rpm on Ubuntu? [closed]

I am an ubuntu user, however I need to install a printer driver which is a RPM (*.rpm) file (Sorry it's the only driver available from the Manufacturer site for Linux).

Is it possible to install RPM files on ubuntu?

Thanks in advance.

沙发
+30

此主題的另一個選擇:

 %mkdir tmp&& cd tmp%rpm2cpio packagefile-1.0.0.rpm | cpio -id   

這會將RPM解壓縮 - 就像tar / gzip一樣 - 進入臨時目錄。這應該足以讓您訪問所需的文件(ppm?)和腳本。

0
votes
answers
47 views
+10

emacs ocaml REPL:「搜索程序:沒有這樣的文件或目錄,ocaml」

0

我試圖在Ubuntu 16.04.3在VirtualBox上設置OCaml。我對他們都是新手;請原諒我的無知。我使用emacs ocaml REPL:「搜索程序:沒有這樣的文件或目錄,ocaml」

wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin 

安裝opam,並根據以下的opam安裝說明添加

. /home/<username>/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true 

~/.profile文件。我使用opam install tuaregGNU emacs 24.5.1使用sudo apt-get install emacs來安裝tuareg

當我試圖在Emacs中鍵入M-x run-ocamlreturn使用ocaml REPL,我OCaml REPL to run: ocaml;當我再次打enter,我

Searching for program: no such file or directory, ocaml 

然後我試圖M-x shell,看看我是否可以運行外殼ocaml,我發現我需要使用opam switch我想從終端/ shell中運行ocaml每次;如果我直接鍵入ocaml,我會得到

The program 'ocaml' is currently not installed. You can install it by typing: sudo apt-get install ocaml-interp 

我不知道這是否有什麼關係,我發現了問題。

作爲第二次嘗試,我又回到了Emacs和類型M-x run-ocaml,打return,並在OCaml REPL to run:再次命中return(這次沒有ocaml)。這開闢了一個新的緩衝區:

output file descriptor closed

但是,當我試圖在新的緩衝區類的東西,說1+1;;,並創下shift-return,我得到Output file descriptor of OCaml is closed,如上圖所示。

我一直在閱讀不同的文檔和線索的指示,但他們都沒有描述我的情況。任何幫助將非常感激!

沙发
0
1

也許你應該嘗試像M-x run-ocamlreturn,然後鍵入類似/usr/bin/opam config exec -- ocaml(或任何路徑到您的OPAM安裝),而不是ocaml

板凳
0
0

所以我按照realworldocaml解決了這個問題。我意識到我的帖子中有幾個問題,所以我使用這個答案 分享鏈接中建議的每個解決方案。

@ ghilesZ的回答完美地解決了我的問題標題(謝謝!)中的問題。我應該在M-x命令(正如上面的答案所示)或~/.emacs配置文件中(如鏈接所暗示的)添加ocaml的路徑。完成以下步驟後,可以通過在終端中輸入which ocaml來獲取路徑。

需鍵入

eval `opam config env` 

運行從終端ocaml可以通過將行到~/.bashrc文件來解決。這是因爲在當前shell中輸入命令只會爲當前shell設置一些東西。爲了讓將來的shell自動設置,它需要被添加到登錄腳本中。

0
votes
answers
1 views
+10

How to install the current version of Go in Ubuntu Precise

Running sudo apt-get install golang-stable, I get Go version go1.0.3. Is there any way to install go1.1.1?

沙发
+1100

我找到了一個擁有最新版本的回購:https//launchpad.net/~duh/+archive/golang/+packages基本上這樣做:

sudo apt-get install python-software-properties  # 12.04
sudo add-apt-repository ppa:duh/golang
sudo apt-get update
sudo apt-get install golang

確認:

go version

在我的情況下輸出(Ubuntu精確)

go version go1.1.1 linux/amd64

從那裡只需將您需要的設置導出到bash_rc或等效設置:

export GOROOT=/usr/lib/go
export GOBIN=/usr/bin/go

So as of 2014 July, this no longer has the latest version of Go. Current version is 1.3. After trying this on Ubuntu 12.04, I ended up with version 1.1.1. – 425nesp Jul 22 '14 at 23:29

Please update this. As of Sep 2014, I also end up with "go1.1.2" – Riccardo Oct 1 '14 at 19:21

As of 2014-10-24, I got 1.2.1 linux/amd64. – nairware Oct 25 '14 at 2:25

Checking in on March 29th, 2015. That ppa responds with a 404. – btleffler Mar 29 '15 at 13:49

I used ppa:evarlast/golang1.4 – Natim May 21 '15 at 15:39

板凳
+980

我喜歡使用GVM在我的Ubuntu框中管理我的Go版本。使用起來非常簡單,如果你熟悉RVM,它就是一個nobrainer。它允許您在系統中安裝多個版本的Go,並在任何時間點在您想要的任何版本之間切換。

安裝GVM:

sudo apt-get install bison mercurial
bash < <(curl -LSs 'https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer')
. "$HOME/.gvm/scripts/gvm"

然後它就像這樣簡單:

gvm install go1.1.1
gvm use go1.1.1 --default

每當您啟動新的終端會話時,第二個命令末尾的默認標誌將go1.1.1設置為您的默認Go版本。

I like RVM and always enjoy a good tool in my kit. Glad to see as I get into Go that there's a tool like GVM :) – Brenden Oct 12 '13 at 3:49

gvm has a lot of requirements... – Ari Mar 26 '14 at 14:56

gvm is same name as for grails gvm – jcalloway Sep 23 '14 at 22:54

I just tried using GVM under the fish shell, and a warning to those who don't use bash: GVM will be a pain to get up and running properly. A lot of its scripts don't have a shebang line for example. – Dennis Feb 13 '15 at 1:47

This should be marked as the answer – Calin Sep 21 '15 at 6:59

地板
+350

我使用GoLang官方存儲庫中的以下命令在我的Ubuntu 14.04上安裝了GoLang 1.6

sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang

參考官方GoLang Repo https://github.com/golang/go/wiki/Ubuntu似乎這個ppa將來會一直更新。

But the question was about Ubuntu Precise (12.04) and not 14.04... – Anton Protopopov Jan 25 '17 at 6:26

The team named '~ubuntu-lxc' has no PPA named 'ubuntu/lxd-stable' – kenorb Jul 9 '18 at 15:58

4楼
+230

[2015年10月] 回答,因為當前接受的答案sudo apt-get install golang不是最新的,如果您不想安裝,請GVM按照以下步驟操作。

一步一步安裝:

  1. 下載最新版本(操作系統:Linux)。
  2. 打開終端並轉到下載目錄
  3. sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  4. 添加go到您的路徑export PATH=$PATH:/usr/local/go/bin
  5. go version 檢查當前安裝的版本
  6. 開始編程。

可能的錯誤+修復:(待更新)

如果你得到一個go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64然後你做錯了什麼,所以看看這篇文章:Go是打印xgcc版本但沒有安裝版本

this should be the accepted answer – Kenichi Shibata Apr 13 '17 at 9:39

5楼
+160

我是從源頭安裝的。這裡有一個循序漸進的教程:http//golang.org/doc/install/source

yup. followed that and it worked. – Sofia Jul 5 '13 at 13:07

yes. Installing Go from source is the best way to "Go". It is very easy to update that way as well. – voidlogic Jul 9 '13 at 2:34

I followed the instructions from here and it worked for me really nice golang.org/doc/install#tarball – Bogdan Mar 15 '14 at 3:43

Thank you so much. Still working on my Ubuntu 14.04 while the PPAs don't. :-) – Ionică Bizău May 2 '14 at 15:43

This is annoying now that you have to bootstrap 1.5+ with a 1.4+ build. – jocull Jan 2 '16 at 17:17

6楼
+70

這是我發現安裝在Ubuntu 14.04上沒有任何ppa或任何其他工具的最直接和簡單的方法。

截至目前,GO版本為1.7

使用wget獲取Go 1.7.ta??r.gz

wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz

提取並複製到 /usr/local/

sudo tar -C /usr/local -xvf go1.7.linux-amd64.tar.gz

您現在已經成功安裝了GO。現在您必須設置環境變量,以便可以go從任何地方使用該命令。

要實現這一點,我們需要在.bashrc So中添加一行

sudo nano ~/.bashrc

並將以下行添加到文件末尾。

export PATH="/usr/local/go/bin:$PATH"

現在,所有命令都go/bin可以使用。

通過執行操作檢查安裝是否成功

go version

對於脫機文檔,您可以執行

godoc -http=:6060

離線文檔將在 http://localhost:6060

注意:

這裡的一些人建議改變PATH變量。

這不是一個好的選擇。

  1. 將其更改/usr/local/go/bin為臨時,一旦關閉終端,它將重置。

  2. go 命令僅適用於您更改PATH值的終端。

  3. 您將無法使用任何其他命令,例如ls, nano或幾乎所有命令,因為其他所有命令/usr/bin位於其他位置或其他位置。所有這些都將停止工作,它將開始給你錯誤。

但是,這是永久性的,不會干擾其他任何事情。

you need to define env var GOPATH=/some/dir then define PATH=${GOPATH}/bin:${PATH} for your own project code – Scott Stensland Aug 21 '16 at 15:22

Yes, I use VSCode so to add GOPATH I just need to edit gopath in user settings json. Thanks for the input. – Ishan Jain Aug 22 '16 at 19:48

There's a small typo in the tar command: am64 instead of amd64 – Adrian Lungu Sep 15 '16 at 6:21

@AdrianLungu Fixed it. – Ishan Jain Sep 16 '16 at 15:16

sudo nano ~./bashrc -> sudo nano ~/.bashrc .. also should be vim :p – GameKyuubi Nov 6 '16 at 20:19

7楼
+50
  1. 下載說,go1.6beta1.linux-amd64.tar.gzhttps://golang.org/dl/ 進入/tmp

wget https://storage.googleapis.com/golang/go1.6beta1.linux-amd64.tar.gz -o /tmp/go1.6beta1.linux-amd64.tar.gz

  1. 不焦油地進入 /usr/local/bin

sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/

  1. 設置GOROOT,GOPATH,[在ubuntu上添加以下?/ .bashrc]

mkdir ~/go export GOPATH=~/go export PATH=$PATH:$GOPATH/bin export GOROOT=/usr/local/bin/go export PATH=$PATH:$GOROOT/bin

  1. 校驗

go version 應該顯示

go version go1.6beta1 linux/amd64

go env 應該顯示

GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/vats/go" GORACE="" GOROOT="/usr/local/bin/go" GOTOOLDIR="/usr/local/bin/go/pkg/tool/linux_amd64" GO15VENDOREXPERIMENT="1" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0" CXX="g++" CGO_ENABLED="1"

Hi, thank you for answer, I am following all the steps but whenever I call "go version" instead of 1.7 it bring 1.4.2 . Is there any other actions that should be done ? – Anahit Serobyan Nov 18 '16 at 7:38

8楼
+50

如果有人正在尋找安裝Go 1.8,請按照下列步驟操作:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go

然後安裝去

sudo apt-get install golang-1.8-go

Works flawless for me. Thanks! – Gwyneth Llewelyn Apr 21 '17 at 22:45

No need to install golang-1.8-go, it's already installed when installing golang-go. Actually as of end April 2017, go 1.8.1 is installed, the latest version. github.com/golang/go/wiki/Ubuntu – firepol Apr 26 '17 at 11:10

I guess you also need to set up GOROOT, GOPATH – Nam G VU Aug 8 '17 at 3:25

Reference for GOROOT and GOPATH setting right in other answers 1) stackoverflow.com/a/34384978/248616 2) stackoverflow.com/questions/17480044/… More official reference stackoverflow.com/a/10847122/248616 – Nam G VU Aug 8 '17 at 3:43

For each of our Go project, set GOPATH=/some/dir, PATH=${GOPATH}/bin:${PATH} – Nam G VU Aug 8 '17 at 3:46

9楼
+30

對於Go的當前版本:

Go編程語言

入門

下載Go發行版

下載

單擊上面的鏈接訪問Go項目的下載頁面,然後選擇與您的操作系統和處理器體系結構相匹配的二進制分發版。

官方二進制發行版可用於FreeBSD,Linux,Mac OS X(Snow Leopard,Lion和Mountain Lion),NetBSD和Windows操作系統以及32位(386)和64位(amd64)x86處理器體系結構。

如果您的操作系統和體系結構組合無法使用二進制分發版,則可能需要嘗試從源代碼安裝或安裝gccgo而不是gc。

從源代碼安裝Go

Installing from source is actually really fast. It compiles fast and the tests are optional if you choose to skip them. – Jeremy Wall Jul 5 '13 at 6:02

10楼
+20

我用這個指令安裝最新版本的 IMG:

  1. 刪除現有的Go版本:

    sudo apt-get purge golang*
    
  2. 安裝最新版本的Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. .profile使用以下內容在主路徑中創建文件:

    # ~/.profile: executed by the command interpreter for login shells.
    # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
    # exists.
    # see /usr/share/doc/bash/examples/startup-files for examples.
    # the files are located in the bash-doc package.
    
    # the default umask is set in /etc/profile; for setting the umask
    # for ssh logins, install and configure the libpam-umask package.
    #umask 022
    
    # if running bash
    if [ -n "$BASH_VERSION" ]; then
        # include .bashrc if it exists
        if [ -f "$HOME/.bashrc" ]; then
            . "$HOME/.bashrc"
        fi
    fi
    
    # set PATH so it includes user's private bin directories
    PATH="$HOME/bin:$HOME/.local/bin:$PATH"
    
  4. 將Go工作空間設置為環境變量:

    GOPATH=~/.go
    
  5. 應用.profile配置:

    source ~/.profile
    

測試:

$ go version
go version go1.11.1 linux/amd64

參考:Go-GitHub-安裝

11楼
+10

或者也許您可以使用此腳本來安裝Go和LiteIDE?

12楼
+10

您還可以使用update-golang腳本:

update-golang是一個可以輕鬆獲取和安裝新Golang版本的腳本,只需最少的系統入侵

git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh
13楼
0
  1. 如果你有ubuntu-mate,你可以安裝最新的go by:

    umake去

  2. 我有一個腳本可以從官方網站下載並安裝最後一個

     # Change these varialbe to where ever you feel comfortable
     DOWNLOAD_DIR=${HOME}/Downloads/GoLang
     INSTALL_DIR=${HOME}/App
     function install {
        mkdir -p ${DOWNLOAD_DIR}
        cd ${DOWNLOAD_DIR}
    
        echo "Fetching latest Go version..."
        typeset VER=`curl -s https://golang.org/dl/ | grep -m 1 -o 'go([0-9])+(.[0-9])+'`
        if uname -m | grep 64 > /dev/null; then
            typeset ARCH=amd64
        else
            typeset ARCH=386
        fi
        typeset FILE=$VER.linux-$ARCH
    
        if [[ ! -e ${FILE}.tar.gz ]]; then
             echo "Downloading '$FILE' ..."
             wget https://storage.googleapis.com/golang/${FILE}.tar.gz
        fi
    
        echo "Installing ${FILE} ..."
        tar zxfC ${FILE}.tar.gz ${INSTALL_DIR}
        echo "Go is installed"
    }
    
    install
    

設置你的GOROOT,GOPATH和PATH:

export GOROOT=${INSTALL_DIR}/go
export GOPATH=<your go path>
export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
14楼
0

您可以使用來自的腳本udhos/update-golang

這是一個雙線示例(運行方式root):

bash <(curl -s https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh)
ln -vs /usr/local/go/bin/go* /usr/local/bin/

這是一個演示:

asciicast

15楼
0

在Ubuntu上安裝Go的最佳方法是從這裡下載所需的版本在這裡,您可以擁有所有穩定版本和版本。

下載你選擇的版本後你可以按照進一步的步驟,我建議你下載ubuntu機器的tar.gz格式:

  1. 首先,通過執行此操作,從本地完全刪除舊版本

sudo rm -rf /usr/local/go /usr/local/gocache

這將刪除所有本地go代碼庫但等待我們必須做的更多從本地完全刪除,我錯過了這一步,它花了很多時間,直到我明白我所缺少的所以這裡是清除的東西從清除名單

sudo apt-get purge golang

要么

sudo apt remove golang-go
  1. 現在通過點擊終端安裝/解壓縮你的下載版本的go / usr / local / go

tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz

  1. 完成上述所有操作後,不要忘記或檢查GOROOT變量值,go env如果沒有設置則可以檢查值export PATH=$PATH:/usr/local/go
  2. 最好測試一個小的go程序來確保。/home/yourusername/go/test.php如果你沒有改變設定GOPATH值,寫在裡面
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
  1. 跑這個 go run test.go

我希望這個對你有用!!

101
votes
answers
13 views
+10

How to check rails environment?

How check rails environment on Ubuntu Server?

command: Rails.env => command not found command: rails.env => command not found

up vote 69 down vote accepted favorite
沙发
+690
+50

如果您在應用程序根目錄中的一個班輪

rails r“put Rails.env”

真棒。這適用於zsh。 - Kris Khaira 2015年4月23日5:23

我用rails r“把Rails.env”成功了。對您的回復進行了評價,因為它直接且簡單。 - Thom Parkin 2016年5月16日18:38

嘿,它總是說發展,即使我正在進行分期。 - 7月3日IN5ID3R 2016年7月9日12:49

你必須告訴rails命令你正在運行什麼環境。所以,我使用了這樣的命令:rails runner --environment = production“puts Rails.version” - Brian Doherty 17年5月25日1: 56

這個總是輸出開發? - hlcs 17年12月23日7:56

+150

聽起來你試圖在shell中運行 Rails.env 這是行不通的,因為 Rails.env 是Ruby代碼,而不是Unix shell命令。

如何在服務器上部署和啟動rails應用程序?Rails環境由服務器啟動時RAILS_ENV環境變量的值決定。您可能在某處指定了某個配置文件,或者您只是使用 RAILS_ENV = production my_rails_server 形式的命令啟動服務器?我需要了解更多有關您運行啟動服務器的命令的詳細信息,以便真正回答這個問題。你在使用獨角獸,雜種,Webrick還是別的什麼?

謝謝。我需要用RAILS_ENV = production運行一些rake命令。我在哪裡可以設置默認環境? - Alexander Shlenchack 2013年4月27日11:49

我認為您可以將以下命令放在服務器上的.bashrc中:export RAILS_ENV = production。然後,當您在服務器上運行該命令時,您現在需要指定RAILS_ENV。但要小心; 如果你在服務器上鍵入rake,它可能會在生產模式下運行你的測試,我不確定它是否會搞亂你的生產數據庫。 - 大衛格雷森2013年4月27日15:57

+100

您可以查看有關rails應用的完整詳情。輸入此命令“rake about”。將為您提供有關您在計算機上安裝了哪個版本的ruby,rails版本等的簡要詳細信息。例如 -

關於應用程序的環境

Rails版本------&gt; 4.2.6

Ruby版本------&gt; 2.3.1-p112(x86_64-linux)

RubyGems版本----&gt; 2.5.1

機架版----&gt; 1.6.4

JavaScript Runtime -------&gt; Node.js(V8)

中間件------&gt; Rack :: Sendfile,ActionDispatch :: Static,

應用程序根----&gt; /數據/網絡/ testapp < / p>

環境------&gt; 開發

數據庫適配器-----&gt; mysql2

數據庫架構版本-----&gt; 0

+70

在您的Rails應用程序目錄中輸入:

rake about

can you once try from here stackoverflow.com/questions/16249399/… – Saveen Jul 17 '16 at 7:13

0

您還可以在shell中的Rails控制台中檢查您的環境。從應用程序目錄路徑開始。

  rails console&lt; enter&gt;   

在您看到控制台的輸出後...(您的輸出很可能會有所不同)

 在過程XXXXX中通過Spring預加載器運行加載開發環境(Rails Xxx)irb(main):001:0&gt;   

在promt類型

  Rails.env&lt; enter&gt;   

除非您有自定義環境,否則會加載以下環境之一

  =&gt; “development”=&gt; “生產”=&gt; “test” 
     
			
        
142
votes
answers
5 views
+10

How can I change php-cli version on Ubuntu 14.04?

I am new to using Linux and I broke some php settings while tampering.

If I execute a php script containing: phpinfo(); it shows the php versions as 5.6, but via the command line, if I run php -v it returns a version of 7.0.

I want to have both versions match.
How can i fix my command line PATH to also use php 5.6?

up vote 97 down vote accepted favorite
沙发
+970
+50
  sudo update-alternatives --set php /usr/bin/php5.6   

請參閱:來源

我愛你,TILL DEATH DO US APART - Muhammad Omer Aslam 18年1月17日在7:50

+230

從PHP 7.1 =&gt; PHP 5.6

  sudo update-alternatives --set php /usr/bin/php5.6   

PHP 5.6 =&gt; PHP 7.1

  sudo update-alternatives --set php /usr/bin/php7.1   

您可以根據需要更改版本。

您可以查看教程 < / p>

問候!!

+170
<h1>此解釋基於Ubuntu 16.04,但預計也適用於其他版本</ h1> <p>這裡的大多數答案都是通過使用命令來操作php-version </ p> <pre> <code> sudo update -alternatives --set ... </ code> </ pre> <p>雖然命令非常有用,但它從未解釋過它的確切功能。這裡有解釋,包括備份和一些選項:</ p> <h2>獲取信息</ h2> <ul> <li>命令<code> update-alternatives </ code>正在顯示或更改駐留的符號鏈接在Ubuntu中的另一個方向,通常定義為<code> / etc / alternatives </ code>,但也可以更改。</ li> <li>與<code> update-alternatives <相關的選項的完整列表/代碼> 可以使用<code> update-alternatives --help </ code>命令顯示,可以使用<code> man update-alternatives </ code>顯示更深入的解釋。</ li> <li>作為命令< code> update-alternatives </ code>是特殊文件夾中的主要更改符號鏈接,該文件夾的內容也可以使用常用命令顯示,並顯示以<code> php </ code>開頭的所有項目:</ li > </ ul> <blockquote> <pre> <code> $ ls -al / etc / alternatives / php * lrwxrwxrwx 1 root root 15 Jan 19 02:58 / etc / alternatives / php - &gt; /usr/bin/php7.2 lrwxrwxrwx 1 root root 31 Jan 19 02:58 /etc/alternatives/php.1.gz - &gt; /usr/share/man/man1/php7.2.1.gz lrwxrwxrwx 1 root root 19 Jan 19 03:00 / etc / alternatives / php-cgi - &gt; 在/ usr / bin中/ PHP-cgi7。2 lrwxrwxrwx 1 root root 35 Jan 19 03:00 /etc/alternatives/php-cgi.1.gz - &gt; /usr/share/man/man1/php-cgi7.2.1.gz lrwxrwxrwx 1 root root 23 Jan 19 03:00 / etc / alternatives / php-cgi-bin - &gt; /usr/lib/cgi-bin/php7.2 </ code> </ pre> </ blockquote> <ul> <li>使用命令<code> update-alternatives </ code>顯示項目使用此命令:</ li> </ ul> <blockquote> <pre> <code> $ update-alternatives --list php /usr/bin/php7.0 /usr/bin/php7.2 </ code> </ pre> </ blockquote> <ul> <li>顯示更多可以執行此操作的詳細信息:</ li> </ ul> <blockquote> <pre> <code> $ update-alternatives --display php php - auto mode link best版本是/usr/bin/php7.2鏈接目前指向/ usr / bin / php7。2鏈接php是/ usr / bin / php slave php.1.gz是/usr/share/man/man1/php.1.gz /usr/bin/php7.0 - 優先級70 slave php.1.gz:/ usr / share / man / man1 / php7.0.1.gz /usr/bin/php7.2 - 優先級72 slave php.1.gz:/usr/share/man/man1/php7.2.1.gz </ code> < / pre> </ blockquote> <p>最後,我們仍然想知道我們可以鏈接哪些php版本。以下命令顯示<code> / usr / bin / </ code>中當前可用的php版本列表:</ p> <blockquote> <pre> <code> $ ls -al / usr / bin / php * lrwxrwxrwx 1 root root 21 Jan 1 19:47 / usr / bin / php - &gt; / etc / alternatives / php -rwxr-xr-x 1 root root 4385840 4月5日18:13 /usr/bin/php7.0 -rwxr-xr-x 1 root root 4875488 4月5日18:10 / usr / bin / php7 .2 lrwxrwxrwx 1 root root 25 Jan 1 19:47 / usr / bin / php-cgi - &gt; / etc / alternatives / php-cgi -rwxr-xr-x 1 root root 4279672 4月5日18:13 /usr/bin/php-cgi7.0 -rwxr-xr-x 1 root root 4769272 4月5日18:10 / usr /bin/php-cgi7.2 -rwxr-xr-x 1 root root 663 2016年2月29日/ usr / bin / phpunit </ code> </ pre> </ blockquote> <h2>備份信息</ h2> < ul> <li>要對這些符號鏈接進行信息備份,只需將列表保存在文件中,然後使用此命令將其保存在桌面上(根據需要調整文件名<code> alternatives-php.txt </ code>): </ li> </ ul> <blockquote> <pre> <code> $ echo“command:update-alternatives --list php”&gt; ?/ Desktop / alternatives-php.txt $ update-alternatives --display php&gt;&gt; ?/ Desktop / alternatives-php.txt $ echo“command:update-alternatives --display php”&gt; &GT; ?/ Desktop / alternatives-php.txt $ update-alternatives --display php&gt;&gt; ?/ Desktop / alternatives-php.txt </ code> </ pre> <p>如果你願意,你仍然可以添加命令<code> ls </ code>的結果,如上所示:</ p> <pre > <code> $ echo“命令:ls -al / etc / alternatives / php *”&gt;&gt; ?/ Desktop / alternatives-php.txt $ ls -al / etc / alternatives / php *&gt;&gt; ?/ Desktop / alternatives-php.txt </ code> </ pre> <p> ...以及可用的PHP版本:</ p> <pre> <code> $ echo“命令:ls -al / usr / bin / php *“&gt;&gt; ?/ Desktop / alternatives-php.txt $ ls -al / usr / bin / php *&gt;&gt; ?/ Desktop / alternatives-php.txt </ code> </ pre> </ blockquote> <h2> 更改命令行的PHP版本</ h2> <ul> <li>如果我們首先過濾<code> man </ code> - 文檔<code> / etc / alternatives / php * / </ code>中的列表包括3行:</ li> </ ul> <blockquote> <pre> <code> $ ls -al / etc / alternatives / php * lrwxrwxrwx 1 root root 15 Jan 19 02:58 / etc / alternatives / php - &gt ; /usr/bin/php7.2 lrwxrwxrwx 1 root root 19 Jan 19 03:00 / etc / alternatives / php-cgi - &gt; /usr/bin/php-cgi7.2 lrwxrwxrwx 1 root root 23 Jan 19 03:00 / etc / alternatives / php-cgi-bin - &gt; /usr/lib/cgi-bin/php7.2 </ code> </ pre> </ blockquote> <ul> <li>一方面,在另一方面為整個系統提供一致的鏈接可能很有用。事實上系統上已存在幾個php版本意味著它' s用於開發和php的<code> cli </ code>,<code> web </ code>和<code> cgi </ code>可以配置不同。<br> <strong>哪個符號鏈接必須更改?</ strong> <br> PHP for web通常不是通過使用<code> / etc / alternatives </ code>中的符號鏈接來配置的,而<code> cli </ code>(命令行)通常不使用cgi -version或cgi-configuration。因此可以假設只更改<code> php </ code>的符號鏈接將適用於命令行,更改<code> php-cgi </ code>和<code> php-cgi-bin </ code>是可能不需要。通常最新版本是默認鏈接的,因此下面的命令使用的是從<code> / usr / bin / </ code>中的列表中獲取的舊版本:</ li> </ ul> </ li> </ ul> <blockquote> <pre> <code> $:man php ... [SCROLL DOWN]版本信息此聯機幫助頁描述了php,版本7.0.29-1 + ubuntu16.04.1 + deb.sury。組織+ 1。COPYRIGHT ... </ code> </ pre> </ blockquote> <p>這意味著PHP版本與man-page一致,命令<code> man php </ code>返回正確的描述當前的php-version和<strong>無需手動調整人工頁面</ strong>。</ p>

這是非常好的。我只有PHP 7.0所以要安裝其他的。 - kJamesy 18年5月3日9:48

+50

這是更具互動性的方式:

  update-alternatives --config php   

您將看到所有可用版本的列表並選擇一個他們

偉大的它對我有用sudo - matinict 4月11日8:10

0

您可以嘗試在終端命令行上設置正確的php版本的路徑:

  set PATH =“/ usr / bin / php5.6 / bin:$ PATH”  

修改路徑以匹配您自己的PHP 5.6路徑(即,如果它首先安裝,它可能類似於“/ usr / bin / php”)。

最後的“$ PATH”會附加當前路徑值,所以不要忘記使用它。

0
votes
answers
30 views
+10

Ubuntu 16.04 Spyder 3.2.4快捷方式Ctrl + 1不能正常工作

1

我在Ubuntu 16.04上安裝Spyder 3.2.4時出現了一個奇怪的問題。 在編輯工作中的「打開註釋」命令,從菜單調用時,但不與它對應的快捷Ubuntu 16.04 Spyder 3.2.4快捷方式Ctrl + 1不能正常工作

按Ctrl +

我試圖更改快捷方式,試圖卸載Anaconda並重新安裝它,但該快捷方式仍然無法正常工作。

P.S.與Ctrl其他快捷方式也沒有工作。

+0

快捷方式是否在操作系統級別執行某些操作? –

+0

您的意思是:Spyder的快捷方式是否可行?如果這是你的問題,那麼是的,這個快捷方式適用於任何其他打算做某事的軟件。另外,試圖重新定義Spyder中的快捷鍵會導致崩潰。 – Henry

+0

我的意思是如果Ctrl + 1在Unity中有效果。 –

沙发
0
1

好吧,它似乎是與Ubuntu 16.04上的Spyder中的快捷方式有關的錯誤。該問題可在以下網址找到: https://github.com/spyder-ide/spyder/issues/5426 並且至今仍然開放。仍然沒有3.2.5

UPDATE工作09年1月'18:在12月28日

UPDATE我發現我需要推動轉變,使快捷方式工作,使通過Spyder的首選項中定義的快捷鍵

Ctrl+1 

作品上打字1月10日'18

Ctrl+Shift+1 

更新:在3.2.6版本中,快捷方式可以重新定義和Spyder的不會崩潰。

0
votes
answers
25 views
+10

從c文件調用rrd_create

0

我想從我的CLion項目(在Ubuntu上)調用rrd func,rrd.h在/ usr/include /中。從c文件調用rrd_create

我的代碼:

#include <stdio.h> 
#include <rrd.h> 

int main() { 
    size_t argc = 6; 
    char *argv[] = { 
      "test.rrd", 
      "--start", 
      "920804400", 
      "DS:speed:COUNTER:600:U:U", 
      "RRA:AVERAGE:0.5:1:24", 
      "RRA:AVERAGE:0.5:6:10" 
    }; 
    rrd_create(argc, argv); 
    return 0; 
} 

的CMakeLists.txt:

cmake_minimum_required(VERSION 3.8) 
project(rddtool) 

set(CMAKE_C_STANDARD 11) 

set(SOURCE_FILES main.c /usr/include/rrd.h) 
add_executable(rddtool ${SOURCE_FILES}) 

消息生成:

Scanning dependencies of target rddtool 
[ 50%] Building C object CMakeFiles/rddtool.dir/main.c.o 
[100%] Linking C executable rddtool 
CMakeFiles/rddtool.dir/main.c.o: In function `main': 
/home/parallels/CLionProjects/rddtool/main.c:14: undefined reference to `rrd_create' 
collect2: error: ld returned 1 exit status 
CMakeFiles/rddtool.dir/build.make:94: recipe for target 'rddtool' failed 
make[3]: *** [rddtool] Error 1 
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/rddtool.dir/all' failed 
make[2]: *** [CMakeFiles/rddtool.dir/all] Error 2 
CMakeFiles/Makefile2:79: recipe for target 'CMakeFiles/rddtool.dir/rule' failed 
make[1]: *** [CMakeFiles/rddtool.dir/rule] Error 2 
Makefile:118: recipe for target 'rddtool' failed 
make: *** [rddtool] Error 2 

我應該如何調用rrd_create?

+2

您的代碼可能是好的,但是'CMakeList.txt'缺少一個非常關鍵的東西:*** ***鏈接與庫。閱讀['target_link_libraries'](https://cmake.org/cmake/help/latest/command/target_link_libraries.html)命令。 –

沙发
0
0

在的CMakeLists.txt:

cmake_minimum_required(VERSION 3.8) 
project(rddtool) 

set(CMAKE_C_STANDARD 11) 

set(SOURCE_FILES main.c) 

find_library(RRD_LIBRARY librrd.so HINTS /usr/lib/x86_64-linux-gnu) 

add_executable(rddtool ${SOURCE_FILES}) 

target_link_libraries(rddtool PUBLIC ${RRD_LIBRARY}) 
0
votes
answers
33 views
+10

Ubuntu 16.04 Node.JS應用程序無法連接到MySQL數據庫 - 錯誤:連接ECONNREFUSED

0

我試圖在Ubuntu虛擬機上啓動我的Node.JS應用程序。該應用程序使用MySQL。當我運行該應用程序時,出現以下有關我認爲是MySQL的錯誤。Ubuntu 16.04 Node.JS應用程序無法連接到MySQL數據庫 - 錯誤:連接ECONNREFUSED

events.js:182 
     throw er; // Unhandled 'error' event 
    ^

Error: connect ECONNREFUSED myIP:3306 
    at Object._errnoException (util.js:1041:11) 
    at _exceptionWithHostPort (util.js:1064:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1153:14) 
    -------------------- 
    at Protocol._enqueue (/root/pub code test/node_modules/mysql/lib/protocol/Protocol.js:145:48) 
    at Protocol.handshake (/root/pub code test/node_modules/mysql/lib/protocol/Protocol.js:52:23) 
    at Connection.connect (/root/pub code test/node_modules/mysql/lib/Connection.js:130:18) 
    at Object.<anonymous> (/root/pub code test/runTest.js:17:12) 
    at Module._compile (module.js:573:30) 
    at Object.Module._extensions..js (module.js:584:10) 
    at Module.load (module.js:507:32) 
    at tryModuleLoad (module.js:470:12) 
    at Function.Module._load (module.js:462:3) 
    at Function.Module.runMain (module.js:609:10) 

這是我用來連接到MySQL代碼:

var connection = mysql.createConnection ({ 
    host: "myIP", 
    user: "root", 
    password: "password", 
    database: "dbname" 
}); 

connection.connect() 

我已經更換了密碼,數據庫,和主機名出於安全目的,但我確實是雙與檢查所有的人,一起用戶名

Node.JS version: 8.4.0
NPM version: 5.3.0
MySQL version: 5.4.2
Ubuntu: 16.04

我不確定我做錯了什麼來得到這個錯誤,但如果有人知道爲什麼,請讓我知道。非常感謝!

沙发
0
0

Got it!我的簡單修復方法是將IP更改爲localhost。我以前只使用標準的公共IP。